Подсчет количества символов, слов, строк в текстовом файле

#c #file #counting

#c #файл #подсчет

Вопрос:

Я должен проверить количество слов, символов и строк в файле. Я получаю количество строк и слов на одну больше, чем должно быть на самом деле. Что не так с моей программой?

 #include lt;stdio.hgt;  int main() {   FILE *number2;   number2 =fopen("Part2.txt", "r"); //open the file to read   if (number2 == NULL)  {  return 4;  }   char cha;  int character = 0;  int word = 0;  int lne = 0;     while ((cha = fgetc(number2)) != EOF) // till end of file  {   //character  ;  // if (cha == 'n' || cha == '')  //lne  ;   while ((cha = fgetc(number2))!= EOF)   {  character  ; //new characters   if (cha == 'n' || cha == '')  lne  ; // new lines    if (cha == ' ' || cha == 't' || cha == 'n' || cha == '')  word  ; //new words--- though the professor talks about only whitespace this is proper way   }   if (character gt; 0)  {  word  ;  lne  ;   } // increasing the worlds and lines for last word and printing    printf("n");  printf("Total number of characters = %dn", character);  printf("Total number of words = %dn", word-1);  printf("Total number of lines = %dn", lne-1); // decreasing by 1 in word and line because there is one extra line and this runs the code perfectly   fclose (number2); //closing the file though professor didn't ask for smooth functioning of programms   return 0;  } }  

Комментарии:

1. Не могли бы вы показать нам образец файла вместе с ожидаемыми и фактическими результатами?

2. А? Почему вложенные циклы? И количество слов не совпадает с количеством пробелов, попробуйте вставить много пробелов между двумя словами во вводе и посмотрите.