идентификатор конца файла в C++
B.Kernighan, D.Ritchie. Работаю в Windows, используя Turbo C++ 3.0.
Вот простейшая программа:
#include <conio.h>
#include <stdio.h>
int main (int argc, char *argv [])
{
int ch;
while ((ch = getchar()) != EOF) putchar(ch);
getch ();
return 0;
}
Используя оператор < направляем любой файл на стандартный ввод.
Проблема такая: не работает getch(). Предположения были разные,
уже не знаю, что и думать. Пробовал вместо EOF писать feof. Тоже
не работает (но уже по другому). Как добиться корректного завершения программы? Просьба также обьяснить, почему в данном случае не работает getch()? Заранее большое спасибо.
Цитата:
getch() reads a single character directly from the keyboard, without echoing to the screen.
Т.е. только с клавиатуры. см. getchar
Я всё понял, программа, читая из файла, не может увидеть символ, нажимаемый мною на клавиатуре. И всё таки, можно ли как-нибудь добиться корректного завершения программы? Подозреваю, не обойтись без непосредственной работы с файлами - FILE *fp, *fopen();?
Хитро выразился однако)
getch ();
Использовать не обязательно, это у тя с паса осталось.
И все работает, в чем у тя проблемы-то. Прекрасно находит твоя программа конец файла и завершаеться после нажатия "any key".
Убери getch() вообще