Что означает «конец файла» в C? - PullRequest
0 голосов
/ 19 декабря 2010
#include <stdio.h>
main()
{
    int c;
    while ((c = getchar()) != EOF)
    putchar(c);
}

В приведенном выше коде, какой символ прервет цикл?
Я новичок в C, пожалуйста, помогите мне.
Кроме того, что означает эта ошибка:
codec5.c:8:2: warning: no newline at end of file

Ответы [ 3 ]

1 голос
/ 19 декабря 2010

Предупреждение просто означает, что вам нужно иметь новую строку в конце вашего исходного кода. Установите курсор на последний } в вашем файле в конце main() и нажмите enter.

Вам необходимо проверить наличие определенного символа для завершения программы, если вы не загружаете файл. Если вы передаете (|) (< в Windows) файл в вашу программу, то программа должна завершиться. Если ваша программа называется test.exe, а входной файл - foo.txt, попробуйте запустить test.exe < foo.txt (убедитесь, что они находятся в одном каталоге).

0 голосов
/ 19 декабря 2010

Ошибка устраняется путем добавления новой строки в конце файла (поместите курсор за } и нажмите ввод).

Я думаю, что цикл прерывается с помощью Ctrl + Z, но я не уверен в этом.

0 голосов
/ 19 декабря 2010

Это специальная константа, определенная в stdio.h, что означает конец файла .

codec5.c: 8: 2: предупреждение: нет новой строки в конце файла

Похоже, у вас нет \n в конце вашего файла:)

...