посчитать количество символов в C - PullRequest
0 голосов
/ 20 марта 2019

Мне нужно просто посчитать количество символов в моем файле 'f'.Когда я считаю количество символов в одной строке, я получаю их реальное число, но когда я нажимаю «enter» в моем .txt и создавая новую строку, я теряю 2 символа.Итак, имея 4 строки с 15 символами, моя программа сообщает, что в файле всего 9 символов.Помогите мне, пожалуйста, просто посчитать этот несчастный символ ...
Вот код на C:

while (!feof(f)) {
    bool space = 1; //remembering last char (was it space or not)
    for (int i = 0; i < len; ++i) { //running till the end of string
        if (a[i] == ' ') {space = 1;} 
        else if (a[i] != '\0' && a[i] != '\n') {
            chars++;
            if (space == 1) {
                words++; //and counting the words
                space = 0;
            }
        }
    }
}

1 Ответ

1 голос
/ 20 марта 2019

На мой взгляд, будет достаточно следующего:

int c; 
while ((c=fgetc(f))!=EOF) {
    if (c == ' ' || c=='\n') {
         words++;
    } 
    else {
        chars++;
    }
}
...