![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Java2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 26.4.2006 Репутация: нет Всего: нет |
У меня есть программа, которая считывает символы из 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 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 23.12.2006 Где: Санкт-Петербург Репутация: нет Всего: 5 |
Apook выкладывал в соседнем топике... --------------------
AScript + Pascal + C -> C++ ->C#Adobe Photoshop 7.0/CS 2.0 + GIMP+ Visual Studio .NET(sp1)/2005 pro(sp1) |
|||
|
||||
| Java2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 26.4.2006 Репутация: нет Всего: нет |
Друг, я не об этом. Этот пример я взял из книги "Язык программирования Си" (он немножко доработан мной). Там популярные авторы говорят, что моя эта программка считывает символы из консоли, но вот она ещё должна при EOF завершить свою работу и вывести результат. Вопрос: как дать понять этой программке, которая считывает поток из CMD, что у нас EOF. Или EOF (End of File) - это только для файлов.
|
|||
|
||||
| KelTron |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 8.10.2006 Где: Красноярск Репутация: нет Всего: 38 |
В текстовых файлах EOF == -1
-------------------- Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог. Эвенгар Салладорский, основатель Школы Тьмы. |
|||
|
||||
| apook |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Ты не правильно доработал Консоль это не CMD Это значит что сеанс ДОС выполняет программа CMD.exe Консоль (то что ты называешь CMD) это stdout-стандартный вывод клавиатура stdin-стандартный ввод. Откуда тебе надо считать? Наверно с клавиатуры Тогда для начала используй printf scanf, а прекратить поток ввода можно клавишей ENTER.... Если надо переделать именно твой вариант то скажи переделаю
и ENTER/// Это сообщение отредактировал(а) apook - 8.1.2007, 12:49 -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
||||
|
|||||
| ip127001 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 24.11.2006 Где: Omsk Репутация: -2 Всего: -1 |
напиши норм вопрос...если тебе надо считвать инфу..то и так сделать
while(cin>>value) { //ну потом считаешь скок символов...цикл останавливается когда появляется /n } --------------------
aqua currit et debere currere ut currere solebat |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
а тут случаем не ctrl+z ли нужен тебе??
|
|||
|
||||
| ip127001 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 24.11.2006 Где: Omsk Репутация: -2 Всего: -1 |
ctrl+z останавливает чтение из буфера ввода, но что нам мешает насильно из цикла выйти break'ом помоему сработает --------------------
aqua currit et debere currere ut currere solebat |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
просто при этом он как раз и получит EOF, и его первоначальный код менять не надо.
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |