我尝试这样做,但结果只是导致表情符号没有显示在终端上。好像表情符号被空格取代了。
另外,我会使用 ncursesw 库,但 macOS 不支持它,我不知道如何安装它。
输出:
afsdlkja;ljksfd
#include <iostream>
#include <ncurses.h>
int main(int argc, char *argv[]) {
setlocale(LC_ALL, "");
int ch;
initscr();
raw();
keypad(stdscr, TRUE);
noecho();
wtimeout(stdscr, 0);
curs_set(0);
while (true) {
erase();
mvprintw(0, 0, "🤮afsdlkja;ljksfd"); // this
ch = getch();
if (ch == KEY_F(1)) break;
}
return 0;
}
您可以在
macOS上编译具有宽字符支持的
ncurses
程序,如下所示:
# Using homebrew, install "ncurses" and "pkgconfig"
brew install ncurses pkg-config
然后编译
"main.c"
:
gcc main.c $(pkg-config --libs --cflags /opt/homebrew/Cellar/ncurses/6.4/lib/pkgconfig/ncursesw.pc) -o main
如果您不熟悉
pkgconfig
,它是一个工具,可以告诉编译器和链接器在哪里可以找到必要的头文件(对于编译器)和库(对于链接器)。这些设置通常由软件包开发人员在名为 "PACKAGENAME.pc"
的文件中提供。您可以通过运行以下命令来查看它推荐的内容:ncurses