segmentation fault가 나네요... 무엇이 잘못되었나요?

midasyoo의 이미지

아래와 같이 윈도우 박스를 그리려고 테스트를 해보았습니다.

#include <curses.h> 

main() 
{ 
WINDOW *win; 
win = newwin(5,20,0,0); 
box(win,'|','-'); 
} 

그리고, 아래와 같이 컴파일을 했습니다.

cc -o wincon wincon.c -lcurses

컴파일을 제대로 된것 같은데, './wincon'이라고 실행을 하면, 'Segmentation fault (core dumped)'라는 메세지가 나옵니다.

무슨 문제인지를 잘 모르겠습니다...

고수님들의 지도 부탁드립니다...

mach의 이미지

일단 다음의 코딩 규칙을 지켜야 합니다.

Quote:

1) 헤더 포함
2) curses초기화
3) 처리
4) curses종료

#include <unistd.h>
#include <curses.h>

int main()
{
     initscr();    // 초기화

     // ... 
     // curses라이브러리를 이용한 어떤 루틴
     // ...

     endwin(); // 종료
     return 0
}

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

moonzoo의 이미지

mach 님이 좋은 답변 해주셨네요..

참고로..box(...) 하신 담에

wrefresh(win); 를 해주셔야 실제 화면에 그려지는 것을

볼수 있을 겁니당..