2014-11-18 10 views
1

Error opening terminal: unknown.ncurses 및 Eclipse Luna와 직면했습니다.이클립스 ncurses 및 xterm, 알 수없는 문자가

xterm을 설치하고 실행/디버그 구성> 환경에 TERM=xterm을 추가하십시오. 이제

, 나는 간단한에 "Hello World"응용 프로그램을 다음 실행하면 이클립스 콘솔에 인쇄 이상한 문자 :

enter image description here

코드 :

#include <stdio.h> 
#include <ncurses.h> 

int main() { 
    initscr();     /* Start curses mode  */ 
    printw("Hello World !!!"); /* Print Hello World */ 
    refresh();     /* Print it on to the real screen */ 
    getch();     /* Wait for user input */ 
    endwin();     /* End curses mode */ 

    return 1; 
} 

이러한 문자는 무엇입니까? 어떻게 제거 할 수 있습니까?

+0

질문하는 것을 잊었습니다. –

+0

@ n.m .: 충분히 명확하다고 생각했습니다. 추가됨. – mrdaliri

+0

가장 큰 문제는 xterm이 사용자가 작성해야하는 터미널 종류가 아니라는 것입니다. – user3629249

답변

1

이 문자는 initscr()이 출력하는 것입니다.

단말기는 이러한 문자를 표시하지 않고 특수한 방식으로 해석합니다. Eclipse 콘솔은 터미널이 아니기 때문에 가장 이상한 아이디어는 아닙니다.

프로그램이 터미널과 비 터미널 모두에서 작동하게하려면 표준 출력이 터미널인지 확인하고 그렇지 않은 경우 ncurses 특정 기능을 사용하지 않아야합니다. man isatty을 참조하십시오.

터미널에서 작동하는 프로그램 만 필요하면 Eclipse 콘솔을 사용하지 마십시오. 설정 지침은 this question and its answer을 참조하십시오.

관련 문제