Страница 1 из 1

Функция getch из ncurses.h

Добавлено: 03 мар 2006, 22:09
Debugger
Долго искал функцию getch для Linux в результате нашел в ncurses.h. Но при вызове этой функции выдается ошибка Segmentation fault. ASP Linux v10. gcc version 3.3.3

Если посмтореть через дизассемблер, то за эту команду отвечают четыре строчки:
sub $0xc,%esp
pushl 0x8049a80
call 0x8048644 <__gxx_personality_v0+32>
add $0x10,%esp

Собственно ошибка возникает на 3-й строчке.
Кто-нибудь знает в чем может быть проблема? Заранее благодарен за ответ.

Добавлено: 04 мар 2006, 13:01
michael
Скорее всего, надо ncurses инициализировать функцией initscr().

Добавлено: 04 мар 2006, 22:29
Debugger
Че-то у меня после initscr() терминал начало немного плющить - указатель переместился наверх экрана, при этом ничего не стерлось, и после окончания работы перестали появляться вводимые символы (команды считывались, но на экране не отображались). Помогает только перелогиниться. Может с этой функцией еще что-то надо использовать?

Вот, что я компилировал и запускал:
#include <ncurses.h>
int main(void)
{
initscr();
getch();
return 0;
}

Добавлено: 04 мар 2006, 23:41
michael
Nado nastraivat parametry terminala. Poprobuy posmotret manualy po getch i inopts ili naidi rukovodstvo po ncurses. Eta s vidu prostaya zadacha mozhet reshatsya ne tak uzh i prosto...