我想在 Ubuntu 中使用 C++ 使用 Ncurses 库打印 (☞゚ヮ゚)☞。
首先,你可以通过简单地做到这一点:
std::cout << "(☞゚ヮ゚)☞" << std::endl;
它工作得很好。
但是,使用 Ncurses 打印时,我认为您需要使用printw(char[])
. 在这种情况下,我尝试这样的事情:
std::string str = "(☞゚ヮ゚)☞"; // String
initscr(); // Start curses mode
printw(str.c_str()); // Print
getch(); // Wait for input
endwin(); // Exit curses mode
但它输出:
(�~X~^��~ �~C���~ )�~X~^
我原以为这可能是c_str()
错的,但是当我这样做时,std::cout
它也可以正常工作。
如何使用 Ncurses 打印该文本?为什么它适用std::cout
于 Ncurses 而不适用于 Ncurses' printw(char[])
?
我编译使用
g++ Main.cpp -lncurses
在 64 位机器上。Ubuntu(也是 64 位)在以 OSX 作为主机的 VirtualBox 中运行。
更新:
我已被重定向到https://stackoverflow.com/a/9927113/555690。那里的解决方案似乎无法解决我的问题 - 相反,这就是现在的样子:
(Mb~X~^M-oM->~ Mc~CM-.M-oM->~ )Mb~X~^