0 / 0 / 0
Регистрация: 10.09.2010
Сообщений: 10
|
||||||
1 | ||||||
Для чего нужен EOF?07.10.2010, 13:47. Показов 88595. Ответов 24
Метки нет (Все метки)
задание такое:написать программу, печатающую все вводимые символы в верхнем регистре, в строку выодится 16ричный и 8ричный код.
0
|
07.10.2010, 13:47 | |
Ответы с готовыми решениями:
24
Для чего нужен C++? Для чего нужен с++? Для чего нужен конструктор? Для чего нужен break? |
246 / 178 / 47
Регистрация: 14.06.2010
Сообщений: 422
|
|
07.10.2010, 14:01 | 3 |
fasked , получаутся что-то вроде бесконечного цикла???
0
|
2 / 2 / 0
Регистрация: 06.10.2010
Сообщений: 39
|
||||||
07.10.2010, 14:57 | 4 | |||||
!cin.eof() нужно чтобы прекратить цикл при прекращение ввода если бы в условии было ch = cin.get() то цикл бы зациклился ведь false это 0 а eof на большинстве систем -1. таким образом !cin.eof() возвращает 0 только при достижении конца потока/файла.
Добавлено через 12 минут ещё можно так написать
0
|
2 / 2 / 0
Регистрация: 06.10.2010
Сообщений: 39
|
||||||
07.10.2010, 17:33 | 6 | |||||
Сразу оговорюсь что C/C++ учу около недели но этот пример
0
|
2 / 2 / 0
Регистрация: 06.10.2010
Сообщений: 39
|
|
08.10.2010, 13:04 | 8 |
Я не это имел ввиду просто cin.eof свидетельствует о прекращение ввода и
while (ch = cin.get()) != EOF) по сути эквивалентно while (!cin.eof()) ch = cin.get(); мой пример вроде как и работает(если не прав то поправьте ибо школота).
0
|
08.10.2010, 14:29 | 9 |
Сообщение было отмечено как решение
Решение
Поправочка, не is_good, а просто good.
ios::good - false, если любой из флагов состояний (eofbit, failbit, badbit) активен, то есть и при достижении конца потока/файла и при ошибки чтения/записи. ios::fail - true, если любой из флагов состояний failbit или badbit активен, то есть проверка только на ошибки. ios::bad - проверка только флага badbit. Сами же флаги состояний описывают следующие свойства: eofbit - конец потока/файла. failbit - последняя операция завершилась неуспешно в связи с ошибкой в логике самой операции. badbit - операция завершена неуспешно в связи с отказом записи (или чтения) в поток. goodbit - нет никаких ошибок. Поправьте, если не прав.
4
|
2 / 2 / 0
Регистрация: 06.10.2010
Сообщений: 39
|
|
08.10.2010, 18:48 | 10 |
0
|
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
09.10.2010, 13:25 | 11 |
Он только eofbit проверяет. А если cin - файл с другого компа или с флешки, а сеть отключилась и флешку вынули, eofbit'а не будет. Будет badbit.
0
|
2 / 2 / 0
Регистрация: 06.10.2010
Сообщений: 39
|
||||||
09.10.2010, 14:39 | 12 | |||||
Вопрос что такое .eof() а не что использовать. И мой пример показывает как он работает.(про eofbit никто не спрашивал).
0
|
11 / 11 / 2
Регистрация: 09.10.2010
Сообщений: 23
|
|
09.10.2010, 14:53 | 13 |
В cin может и файл загоняться: myprog.exe < my.text
Ну и как выше написали сработает на Ctrl-Z или Ctrl-D в зависимости от системы, если вводить руками.
0
|
2 / 2 / 0
Регистрация: 06.10.2010
Сообщений: 39
|
|||||||||||
09.10.2010, 16:41 | 14 | ||||||||||
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||||||||||
09.10.2010, 16:58 | 15 | ||||||||||
П.С. Это не самый лучший способ для С++ потоков.
1
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
10.10.2010, 06:19 | 16 |
Сообщение от zikker
0
|
2 / 2 / 0
Регистрация: 06.10.2010
Сообщений: 39
|
|
10.10.2010, 16:05 | 17 |
А кто говорит(печатает) про ошибки ?
Вопрос зачем .eof() Ответ для определения конца ввода
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||
11.10.2010, 02:22 | 18 | ||||||||||
тут различие есть
Код
[guest@localhost tests]$ g++ t.cpp -o t [guest@localhost tests]$ ./t 1 0 1 [guest@localhost tests]$ g++ t.cpp -o t t.cpp: In function ‘int main()’: t.cpp:17: ошибка: ‘struct std::istream’ has no member named ‘is_open’ [guest@localhost tests]$ Добавлено через 6 минут
Сообщение от zikker
программа должна выйти и сообщить, что встречена ошибка, а не зацикливаться, естественно ничего не сообщая
потому что оно могло прочитать поток до половины, а потом выйти, потому что дальше не читается
0
|
0 / 0 / 0
Регистрация: 10.09.2010
Сообщений: 10
|
|
13.10.2010, 16:58 [ТС] | 19 |
ладно, а можно цикл организовать не используя eof? можете написать?
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
14.10.2010, 03:25 | 20 | |||||
0
|
14.10.2010, 03:25 | |
14.10.2010, 03:25 | |
Помогаю со студенческими работами здесь
20
Для чего нужен rdstate() Для чего нужен Sizeof Для чего нужен символ \b? Для чего нужен define? Для чего нужен указатель vptr? Для чего нужен класс auto_ptr_ref? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |