Форум программистов, компьютерный форум CyberForum.ru

как работает getchar() ? - C++

Восстановить пароль Регистрация
 
ilja123
43 / 43 / 6
Регистрация: 24.12.2009
Сообщений: 382
09.01.2014, 15:47     как работает getchar() ? #1
C++
1
2
3
int c;
c=getchar();
cout << c;
Набираю на клаве число 123 Cout выдает число 49 ???

Добавлено через 1 минуту
из-за нажатия на Ентер???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2014, 15:47     как работает getchar() ?
Посмотрите здесь:

C++ getchar
C++ getchar ()
[C++] аналог getchar() C++
C++ Getchar и putchar EOF
C++ Функция getchar!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Arkaniy
 Аватар для Arkaniy
106 / 106 / 6
Регистрация: 29.08.2012
Сообщений: 452
09.01.2014, 15:51     как работает getchar() ? #2
Это функция принимает только 1 символ. Из введенного 123 обрабатывается только 1. А 49 - это код единицы. Именно он и записывается в целочисленную переменную.
ilja123
43 / 43 / 6
Регистрация: 24.12.2009
Сообщений: 382
09.01.2014, 15:56  [ТС]     как работает getchar() ? #3
странно Если я нажимаю escape то в С запис. число 10 (вроде 27 должно быть)
и этот цикл не работает
C++
1
2
3
4
5
while((c = getchar()) != 27)
        if(c == '\n')
            ++nl;
 
    printf("%d\n", nl);
т.е. при наж. на кл. espape ничего не происходит
Arkaniy
 Аватар для Arkaniy
106 / 106 / 6
Регистрация: 29.08.2012
Сообщений: 452
09.01.2014, 16:16     как работает getchar() ? #4
10 - это код Enter'a. Ты ведь после Esc нажимаешь энтер. Чтобы выловить эскейп используй getch()
Этой функции не нужно подтверждения энтером. Она реагирует на нажатие кнопки.
Yandex
Объявления
09.01.2014, 16:16     как работает getchar() ?
Ответ Создать тему
Опции темы

Текущее время: 06:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru