| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Как в CMD сделать EOF |
| Автор: Java2 7.1.2007, 22:13 |
| У меня есть программа, которая считывает символы из cmd, а встретив конец потока, выводить кол-во символов. Вся сложность в том, что я не могу понять, как сделать конец потока в cmd. #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int c; int signsCount; while(1) { signsCount = 0; while((c = getchar()) != EOF) { if(c == '\n' || c == '\t') { ++signsCount; } } printf("Count: %d", signsCount); } system("PAUSE"); return 0; } |
| Автор: KpoHyc 7.1.2007, 22:18 | ||
Apook выкладывал в соседнем топике... |
| Автор: Java2 8.1.2007, 10:17 |
| Друг, я не об этом. Этот пример я взял из книги "Язык программирования Си" (он немножко доработан мной). Там популярные авторы говорят, что моя эта программка считывает символы из консоли, но вот она ещё должна при EOF завершить свою работу и вывести результат. Вопрос: как дать понять этой программке, которая считывает поток из CMD, что у нас EOF. Или EOF (End of File) - это только для файлов. |
| Автор: KelTron 8.1.2007, 11:43 |
| В текстовых файлах EOF == -1 |
| Автор: apook 8.1.2007, 12:02 | ||||
Ты не правильно доработал Консоль это не CMD Это значит что сеанс ДОС выполняет программа CMD.exe Консоль (то что ты называешь CMD) это stdout-стандартный вывод клавиатура stdin-стандартный ввод. Откуда тебе надо считать? Наверно с клавиатуры Тогда для начала используй printf scanf, а прекратить поток ввода можно клавишей ENTER.... Если надо переделать именно твой вариант то скажи переделаю
и ENTER/// |
| Автор: ip127001 10.1.2007, 15:13 |
| напиши норм вопрос...если тебе надо считвать инфу..то и так сделать while(cin>>value) { //ну потом считаешь скок символов...цикл останавливается когда появляется /n } |
| Автор: vinter 10.1.2007, 15:54 |
| а тут случаем не ctrl+z ли нужен тебе?? |
| Автор: ip127001 10.1.2007, 21:12 |
ctrl+z останавливает чтение из буфера ввода, но что нам мешает насильно из цикла выйти break'ом помоему сработает |
| Автор: vinter 11.1.2007, 00:02 |
| просто при этом он как раз и получит EOF, и его первоначальный код менять не надо. |