我面对Error opening terminal: unknown.
ncurses
和Eclipse Luna。
已安装xterm
并在运行/调试配置中添加TERM=xterm
>环境。
现在,当我运行以下简单的“Hello World”应用程序时,Eclipse控制台中会打印一些奇怪的字符:
代码:
#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 :(得分:1)
这些字符是initscr()
输出的结果。
终端知道不显示这些字符并以特殊方式解释它们。由于Eclipse控制台不是终端,因此它并不是一个最微弱的想法。
如果您希望您的程序在终端和非终端中工作,您需要检查您的标准输出是否是终端,并避免使用ncurses
特定功能(如果不是)。请参阅man isatty
。
如果您只需要您的程序在终端中工作,那么就不要使用Eclipse控制台。有关设置说明,请参阅this question and its answer。