для создания панелей в ncursesw, так как мне нужны символы Юникода.
Я уже провел пару тестов, результаты которых показаны в таблице ниже:

Это код и результат при создании окна с WINDOW* и -lncursesw.
Код:
Код: Выделить всё
#include
int main() {
setlocale(LC_ALL, "");
initscr();
noecho();
cbreak();
refresh();
WINDOW *window {newwin(0, 0, 0, 0)};
box(window, 0, 0);
mvwaddstr(window, 1, 1, "\U0001F600");
wrefresh(window);
getch();
endwin();
}

Это код и результат при создании окна с помощью PANEL* и -lncursesw.
Код:
Код: Выделить всё
int main() {
setlocale(LC_ALL, "");
initscr();
noecho();
cbreak();
PANEL *panel {new_panel(newwin(0, 0, 0, 0))};
box(panel_window(panel), 0, 0);
mvwaddstr(panel_window(panel), 1, 1, "\U0001F600");
// wrefresh(panel_window(panel));
update_panels();
doupdate();
getch();
endwin();
}

Однако, если я раскомментирую строку wrefresh(), я получу тот же желаемый результат при использовании WINDOW *. Почему это происходит?
Подробнее здесь: https://stackoverflow.com/questions/694 ... n-ncursesw
Мобильная версия