затмение ncurses и xterm, неизвестные символы напечатаны

Я столкнулся с Error opening terminal: unknown. с ncurses и Затмение Луны.

Так установлено 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;
}

Что это за персонажи? И как их убрать?

1

Решение

Эти персонажи что initscr() выходы делать свое дело.

Терминал знает, что не нужно показывать эти символы и интерпретировать их особым образом. Поскольку консоль Eclipse не является терминалом, она не имеет ни малейшего представления.

Если вы хотите, чтобы ваша программа работала как на терминалах, так и на нетерминалах, вам необходимо проверить, является ли ваш стандартный вывод терминалом, и избегать использования ncurses-специфичные функции, если это не так. Увидеть man isatty,

Если вам нужна только ваша программа для работы в терминалах, просто не используйте консоль Eclipse. Увидеть этот вопрос и его ответ для инструкций по настройке.

1

Другие решения


По вопросам рекламы [email protected]