#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. А? Почему вложенные циклы? И количество слов не совпадает с количеством пробелов, попробуйте вставить много пробелов между двумя словами во вводе и посмотрите.