38 / 2 / 0
Регистрация: 29.04.2011
Сообщений: 51
1

Getch() + ncurses = НЕ ожидает нажатие символа

09.03.2015, 15:13. Показов 3449. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дорогие товарищи-друзья!

Linux на удалённой машине, g++, установлен ncurses, код программы такой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <ncurses.h>
using namespace std;
 
int main()
{
char c = 'a';
cout << c;
c = getch()
cout << c;
return 0;
}
Компилирую g++ с параметром -lncurses.

Результат выполнения:
a?
То есть getch даже не пытается подождать, пока я введу какой-либо символ, хотя в переменную "c" и записывается что-то непонятное.

В чём тут дело?

Добавлено через 6 минут
В приведённом выше коде забыл точку с запятой после c = getch(), но в моей программе она есть, так что на это не обращайте внимания.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2015, 15:13
Ответы с готовыми решениями:

getch(); ожидает ESC и при этом ест вводимый символ
кусочек программы словаря процедура перевода слов с английского на русский struct types {...

Как реализовать движение символа по экрану? ncurses.h
Здравствуйте, друзья! Нужна помощь с ncurses. Подскажите пожалуйста, как реализовать движение...

Аналог getch или русские буквы в getch
Здравствуйте, уважаемые господа. Существуют ли какие-нибудь аналоги getch () и _getch, которые...

Удаление символа в веб-форме, эмулируя нажатие клавиатуры
Здравствуйте! Помогите, пожалуйста, с вопросом. Как можно удалить из веб-формы одну букву?...

2
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
10.03.2015, 10:52 2
Для начала нужно инициализировать библиотеку. Ну и в конце деинициализировать соответственно.
Для вывода нужно использовать функции библиотеки.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <ncurses.h>
 
 
int main() {
   initscr(); //инициализация ncurses
   
   char c = 'a';
   
   printw( "%c\nPress any key...", c );
   refresh();
   
   c = getch();
   
   endwin(); //деинициализация ncurses
}
По функциям printw и refresh читайте руководство.
0
38 / 2 / 0
Регистрация: 29.04.2011
Сообщений: 51
10.03.2015, 12:25  [ТС] 3
Спасибо, действительно заработало.
0
10.03.2015, 12:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2015, 12:25
Помогаю со студенческими работами здесь

scanf не ожидает ввода
Привет всем, я в первый раз на этом форуме. Вопрос следующий: в программе учета бюджета глючит...

Ввод строки S и символа С. Результат: число повторений символа С и порядковые позиции вхождения этого символа в строку
Нужно составить программу, в которой пользователь вводит вручную строку S и символ C. Результатом...

Програма не ожидает ввода пользователя
Доброго времени суток! Суть вопроса в следующем: пользователь должен ввести имя а потом суму...

Скрипт ожидает ввода данных
Нужна помощь! Хочу допилить скрипт, который делает настройку таким образом, чтобы после его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru