curses의 getch 에는 고약한 습성이...?

익명 사용자의 이미지

안녕하세요?

혹시 curses 라이브러리의 getch 에 고약한 습성이 있나요?

문제는 현재 화면을 싹 지우고... 커서가 0, 0 에 가버립니다.

그리고는 키 입력을 대기합니다.

다른함수();
문제함수();

이렇게 하면 화면을 지우는일은 없는데요...

문제함수();
다른함수();

이렇게 하면 getch() 를 처음으로 호출한 곳에서...

화면이 모두 지워져 버립니다.

버퍼가 남아있거나... 뭐 특정한 경우에 화면을 지우도록 되어있나요?

아니면... 도대체 왜 지워지는건지... ;;;

익명 사용자의 이미지

keypad(WINDOW *,int) 가 한번 호출되어야 합니다.

getch() 라면 keypad(stdscr,TRUE); 이렇게...

터미널 모드 함수랑 구조체로 구현이 가능합니다.

아실지 모르겠지만 getch()는 비표준함수이죠. p

익명 사용자의 이미지

V0rt2X wrote..
keypad(WINDOW *,int) 가 한번 호출되어야 합니다.

getch() 라면 keypad(stdscr,TRUE); 이렇게...

터미널 모드 함수랑 구조체로 구현이 가능합니다.

아실지 모르겠지만 getch()는 비표준함수이죠. p

C에 대해 물어보는 것도 아니고,
"curses"의 "getch"함수를 물어보는데
어느면에서 비표준이라는 것인지...

익명 사용자의 이미지

무슨말인지 모르겠지만,

ANSI표준이 아니라는 애깁니다. 참고하시라구요.^^

즉,모든 시스템에서 유효하지 않을 수 있고,

환경에 따라 다른 헤더 파일을 요구할 것이다라는 애깁니다.