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 ~ ^