我正在尝试制作一个代码,让Lenny跳跃,但是lenny面对这个:(͡°͜ʖ͡°)
编译时&运行代码(g ++ -o Lenny main.cpp),得到输出“(͡° 〜\ 〜V͡°)”。有没有办法让它显示(͡°͜ʖ͜ʖ°)?
答案 0 :(得分:0)
答案 1 :(得分:0)
Linux具有良好的Unicode支持,如果您正在输出所有内容,则不需要任何特殊库:
#include <iostream>
int main()
{
std::cout << "( ͡° ͜ʖ ͡°)\n";
}
或者,您不能依赖Linux内置的UTF-8并明确它:
#include <iostream>
#include <locale>
int main()
{
std::locale::global(std::locale("en_US.utf8"));
std::wcout.imbue(std::locale());
std::wcout << L"( ͡° ͜ʖ ͡°)\n";
}
编辑:根据您在评论中的代码,您的问题实际上是关于ncurses库I / O,而不是关于C ++。为了使您的程序按预期工作,
setlocale(LC_ALL, "en_US.utf8");
的开头附近添加第main()
行(并相应地添加#include <clocale>
)-lncursesw
,而不是-lncurses
,如果您正在使用的话。