![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Walker |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 23.10.2006 Репутация: 1 Всего: 16 |
Доброго времени суток!
Помогите, пожалуйста, разобраться с задачей 4-6. Условие. -------- Функции GETCH и UNGETCH не обеспечивают обработку возвращенного символа EOF переносимым образом. Решите, каким свойством должны обладать эти функции, если возвращается EOF, и реализуйте ваши выводы. Функция UNGETCH помещает возвращаемые назад символы в совместно используемый буфер, являющийся символьным массивом. Функция GETCH читает из этого буфера, если в нем что-либо имеется; если же буфер пуст, она обращается к GETCHAR. При этом также нужна индексирующая переменная, которая будет фиксировать позицию текущего символа в буфере.
Это сообщение отредактировал(а) Guedda - 19.6.2007, 08:51 -------------------- "От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..." |
|||
|
||||
| GIK |
|
|||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: 4 Всего: 14 |
Собственно ты решил уже один способ, с помощью которого можно достать символ при случае если массив пустой -------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
|||
|
||||
| Walker |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 23.10.2006 Репутация: 1 Всего: 16 |
Эти функции были приведены в учебнике. К ним и следовало вот такое задание. Проблема в том, что я его никак не могу понять.
По сути, эти функции реализуют откат при чтении текста по символам. Получается, если мы натыкаемся на EOF, то обработать его корректно можем не всегда. Так, что ли? А что у нас может не получиться? Записать его в массив? Считать оттуда? Насколько мне известно, EOF может быть где-то -1, где-то 0... Если у программы, которая использует GETCH и UNGETCH произойдёт останов, то это скорее её проблемы, а не этих функций... А если я не могу понять, в чём загвоздка, то и решения никакого предложить не могу. В общем, -------------------- "От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..." |
|||
|
||||
| Walker |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 23.10.2006 Репутация: 1 Всего: 16 |
Всем Спасибо! Задача, кажется, решена.
До сих пор авторы учебника делали акцент на типах данных. Думаю,вся соль заключается в строке
Дело в том, что EOF не является действительным символом и, следовательно, не может храниться в массиве типа char. Судя по содержанию предыдущих упражнений, авторы могли иметь в виду, что в этом случае вместо
следует использовать
P.S. Тему можно закрывать. -------------------- "От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..." |
||||||
|
|||||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |