LINUX.ORG.RU

Сообщения galaid

 

Количество слов в файле

Необходимо узнать количество слов в файле. Язык программирования - Си.

Написал следующую функцию:

int CountWords(char filename[])
{   int c;
    int wcount=0, t=0;
    FILE *input;
    input=fopen(filename, "r");
    if(input==NULL)
        fprintf(stderr, "Ошибка при открытии файла %s\n", filename);
    while(!feof(input))
    {
        c=fgetc(input);
        if(isspace(c))
            t=1;
        else
            if(t==1)
            {
                wcount++;
                t=0;
            }
    }
    if(fclose(input)==-1)
        fprintf(stderr, "Ошибка при закрытии файла %s\n", filename);
    return wcount;
}

При тестировании функции заметил, что ее результат не сходится с результатом функции если файл находится в каталоге usr.

wc filename -w
Моя функция возвращает больший результат.

Подскажите, что не так в моей функции и как исправить данную проблему?

 ,

galaid
()

RSS подписка на новые темы