Здравствуйте.
Программа должна подсчитывать количество строк файла.
Как задать программе подсчитывать строки определенного файла
и выходить из цикла подсчета по окончании файла?#./a.out file
Нет результата.Пример из Карнигана и Ричи, но без результата:
#define EOF 0
main()
{
int c,nl;
while((c=getchar())!=EOF)
if (c=='\n')
++nl;
printf("%d\n", nl);
}#uname -a
FreeBSD 5.4Также непонятно, почему EOF не срабатывает.
Заранее благодарен.
./a.out < fileEOF не срабатывает по той же причине.
PS. Не досмотрел
#define EOF (-1)
А лучьше вместо этого в начале программы:
#include <stdio.h>
да и nl неплохо было бы обнулить вначале.
>Здравствуйте.
>Программа должна подсчитывать количество строк файла.
>Как задать программе подсчитывать строки определенного файла
>и выходить из цикла подсчета по окончании файла?
>
>#./a.out file
>Нет результата.
>
>Пример из Карнигана и Ричи, но без результата:
>
>#define EOF 0
>main()
>{
>int c,nl;
>while((c=getchar())!=EOF)
>if (c=='\n')
> ++nl;
>printf("%d\n", nl);
>}
>
>#uname -a
>FreeBSD 5.4
>
>Также непонятно, почему EOF не срабатывает.
>Заранее благодарен.#include <stdio.h>
main()
{
int c, nl = 0;
while ((c=getchar()) != EOF) {
if (c == '\n')
++nl;
}
printf("%d\n", nl);
}Как минимум инициализировать nl.
1. gcc <filename>.c
2. cat </path/to/filename> | ./a.out