تكرار سلسلة في ملف C

يحسب برنامج C هذا عدد التكرارات في ملف نصي لجميع الأحرف التي تم البحث عنها.

< / span >< span style = "عائلة الخط: وراثة ؛" >< / span >< span style = "عائلة الخط: وراثة ؛" >< span style = "وزن الخط: عادي ؛" >مثال: < / span >< br / >< span style = "عائلة الخط: " فيردانا" ، بلا رقيق ؛" >يحتوي الملف النصي على النص "أنا مبرمج" < / span >.< / span >< / span >

الأحرف التي تبحث عنها: j، s، p، e.
عدد التكرارات: < / span >
  نبسب؛ J: 1< / span >
  نبسب؛ S: 1< / span >
  نبسب؛ u: 3< / span >
< span style = "عائلة الخط: وراثة ؛" >  نبسب؛ E: 2< / span>

< / a>
 
#include < stdio.h> < فرع />#include < stdlib.h>

void rech_caracteres (أحرف char [] ، حجم int)
{
// ملف مفتوح في وضع القراءة
FILE * ملف = fopen ("C: / test.txt" ، "r") ؛
char c ؛
// صفيف يحفظ التكرارات < br / > int repeat [size] ؛
// تهيئة إلى 0
ل (int i = 0 ؛ i < size ؛ i ++)
كرر [i] = 0 ؛
//إذا كان الملف موجودا
if(file)
{
//طالما أنها ليست نهاية الملف
//read a character
while((c=(char)getc(file))!=EOF)
{
//تتم مقارنة حرف القراءة مع
//جميع الأحرف التي تم البحث عنها
ل(int i = 0 ; i < size; i++)
{
// إذا كان متساويا ، زيادة
// العداد المرتبط بالحرف
if (c == الأحرف [i])
كرر [i] ++ ؛
}
}
// close file
fclose(file);
//display
printf ("عدد التكرارات:\n");
for (int i = 0 ; i < size ؛ i ++)
printf ("\t٪ c: ٪d\n",characters[i],repeat[i]);
}
else
printf("\aERROR: غير قادر على فتح الملف: ٪s"، ملف);
}

int main()
{
char string[]="a programmer";
// sizeof (string) -1: حجم الصفيف < br / > // (-1 لعدم حساب "\ 0")
// '\0' يشير إلى نهاية الصفيف
rech_caracteres (السلسلة ، sizeof (السلسلة) -1) ؛
النظام ("وقفة") ؛
}
< / قبل>