the menuconfig make instalar c++ ubuntu terminal ncurses curses

c++ - menuconfig - ¿Cómo puedo imprimir(☞ ゚ ヮ ☞) N con Ncurses?



make menuconfig requires the ncurses libraries (1)

Supongo que publicaré esto como la respuesta. Por lo tanto, Ubuntu aparentemente no se envía por defecto con la versión de soporte de Unicode. Entonces primero debe instalarlo con

sudo apt-get install libncursesw5-dev

entonces puedes compilar esto

#include <iostream> #include <string> #include "locale.h" #include "ncursesw/ncurses.h" using namespace std; int main() { setlocale(LC_ALL, ""); std::string str = "(☞゚ヮ゚)☞"; // String initscr(); // Start curses mode printw(str.c_str()); // Print getch(); // Wait for input endwin(); return 0; }

y funcionará sin problemas.

#include "ncursesw/ncurses.h" cuenta el #include "ncursesw/ncurses.h"

Me gustaría imprimir (☞ ゚ ヮ ☞) ☞ con la biblioteca Ncurses usando C ++ en Ubuntu.

Antes que nada, puedes hacer esto simplemente teniendo:

std::cout << "(☞゚ヮ゚)☞" << std::endl;

Y funciona bien.

Sin embargo, al imprimir usando Ncurses, creo que necesita usar printw(char[]) . En cuyo caso, intento algo como esto:

std::string str = "(☞゚ヮ゚)☞"; // String initscr(); // Start curses mode printw(str.c_str()); // Print getch(); // Wait for input endwin(); // Exit curses mode

Pero produce:

( ~ X ~ ^ ~ ~ C ~ ) ~ X ~ ^

Pensé que tal vez era c_str() , pero cuando lo hago con std::cout también funciona bien.

¿Cómo puedo imprimir ese texto con Ncurses? ¿Por qué funciona con std::cout y no con Ncurses '' printw(char[]) ?

Yo compilo usando

g++ Main.cpp -lncurses

En una máquina de 64 bits. Ubuntu (64 bits también) se está ejecutando en VirtualBox con OSX como host.

Actualización :

Me redireccionaron a https://stackoverflow.com/a/9927113/555690 . La solución no parece solucionar mi problema; en cambio, así es como se ve ahora:

(Mb ~ X ~ ^ M-oM-> ~ Mc ~ CM-.M-oM-> ~ ) Mb ~ X ~ ^