리눅스 프로그래머를 위한 가이드
8.4 초기화 (Initializing)
- WINDOW *initscr()
이것은 ncurses를 사용하는 프로그램으로 부터 일반적으로 호출되는 첫번째 함수이다.
몇몇 경우에 있어서 slk_init(int), filter(), ripoffline(...) 또는 initscr()
이전의 use_env(bf) 호출은 유용하다. 여러개의 단말기를 사용할 때
(또는 능력(capabilities)을 테스트하는 경우), initscr()을 대신하여 newterm(...)
를 사용할 수 있다.
initscr()는 적당한 terminfo 파일을 읽고 ncurses 자료 구조를 초기화하고 메모리를
할당하고 단말기가 가지고 있는 값들을 지정(set)할 것이다. 이것은 포인터를 반환하거나 에러가
발생했을 때 ERR를 반환한다. 포인터를 초기화할 필요는 없다.
initscr()는 당신을 위해 이것을 할 것이다. 반환값이 ERR이면, 당신의 프로그램은
ncurses 함수가 작업할 수 없으므로 종료해야만 한다.
- SCREEN *newterm(char *type, FILE *outfd, FILE *infd)
다수의 단말기 출력을 위해 initscr()를 대신하여 ncurses를 가지고 접근하기 위해
각각의 단말기에 대해 newterm(...)를 호출한다. type은 $TERM안에 포함되어 있는
단말기의 이름(예:ansi, xterm, vt100)이고 outfd는 출력 포인터(output pointer)이고
infd는 입력을 위해 사용되는 포인터이다. newterm(...)에 의해 열려진 각 단말기에 대해
endwin()를 호출하라.
- SCREEN *set_term(SCREEN *new)
set_term(SCREEN)를 가지고 현재의 단말기를 바꿀(switch) 수 있다.
모든 함수들은 set_term(SCREEN)에 의해 지정된 현재의 단말기에 작용할 것이다.
- int endwin()
endwin()는 청소를 하고 initscr()를 호출하기 전의 상태로 단말기 모드를 저장하고
커서를 좌측하단으로 이동시킬 것이다. 프로그램을 종료하기 위해 endwin()을 호출하기
전에 열려진 모든 윈도우를 닫는 것을 잊지 말아라.
endwin()후에 부가적으로 refresh()를 호출하는 것은 initscr()를
호출하기 전에 가지고 있는 상태로 단말기를 저장할 것이다(visual-mode).
그렇지 않으면 clear될 것이다(non-visual-mode).
- int isendwin()
다음에 refresh()를 가지고 endwin()이 호출되면 TRUE를 반환하고 그렇지 않으면
FALSE를 반환한다.
- void delscreen(SCREEN* sp)
SCREEN이 더이상 필요하지 않을 때, endwin() 후에 점유하고 있는 자원들을 모두 풀어주기
위해 delscreen(SCREEN)을 호출하라. (Note:아직 구현되지 않음)
이전:8.3 Ncurses - 소개 (Introduction)
다음:8.5 윈도우 (Windows)
Copyright (c) 1996,1997 by Euibeom.Hwang & SangEun.Oh All Rights Reserved
Email To:Webmaster ,
Another address
LAST UPDATE Dec 9,1997
Created Dec 9,1997