리눅스에서 getch 함수에 대해..
글쓴이: shinlover4u / 작성시간: 화, 2007/11/27 - 6:34오후
리눅스 gcc에서는 getch함수를 제공 안한다고 알고있습니다.
그래서
curses.h 파일을 인클루드 시키면 getch함수를 사용가능한걸로 알고 있는데
여기에 getch가 일반적으로 흔히 쓰이는 getch와 기능이 같은건가요?
제가 지금 리눅스에서 getch함수를 사용해봤는데
이상하게..세그맨테이션 오류가 나네요
간단한 소스입니다
#include < stdio.h > #include < curses.h > int main(int argc,char **argv) { int ch; ch=getch(); printf("%d\n",ch); }
이 소스를 컴파일 하여 실행해보니
세그맨테이션 오류가 나면서 실행이 안되네요
컴파일은 -lcurses 를 붙여서 아무 에러없이 컴파일이 되었는데
실행을 하니 세그멘테이션 오류가 나는군요..
답변 부탁드릴게요
제가 하려는 거에 getch함수가 꼭 필요합니당..ㅜ
Forums:
getc 아닌가요?
getc 아닌가요?
man getc 하니까 위에 쓰신 용도로 쓸만한것이 보이는듯 하네요.
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~
https://xenosi.de/
굳이 ncurses의 getch를
굳이 ncurses의 getch를 쓰셔야한다면..
getch 를 쓰시기 전에 initscr() 으로 screen 을 초기화 해 주시고..
프로그램 마지막에 endwin() 으로 screen을 restore 시켜야 합니다.
---------------------
Emerging the World!
Emerging the World!
앗 글케 하니깐 되네용^^ 근데..
오홋 신기하네요
앞에 initscr()을 써주고
마지막에 endwin()을 써주니
세그맨테이션 오류가 나지 않네요 감사합니다.
근데 궁금한게 이게 도대체 머죵..?
왜이렇게 해줘야 하는건지..
또 제가 키보드로 입력한값을 출력하고 픈데 이렇게 소스를 짜면
숫자가 나오지 않습니다..
그래서 endwin()을 쓰지 않으니깐 숫자는 나오되 프로그램이 종료됬는대도 불구하고 쉘상에서 명령어를 쳐도 안나오고 좀 여러가지
문제가 있는거 같습니다..
다시한번 답변 부탁드릴게요 ㅠㅠ
안녕하세요
간디가 말한 우리를
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
getch()함수는 ncurses에서 사용되는 함수입니다...initscr()과 endwin()을 왜 해줘야하는지 궁금하시면
ncurses를 한번 보시면 금방 이해가요
/*다른분이 사용하는 문구를 따서 왔습니다*/
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
RTFM 인가보군요.
RTFM 인가보군요.
댓글 달기