我正在做练习,我需要在终端上编写Unicode,
仅在<unistd.h>
中使用 write()。
我无法使用:
printf
功能)关于如何执行此操作的任何“低级别”建议?
答案 0 :(得分:3)
正如克里斯在评论中写道的那样,你需要一个了解Unicode的终端(例如Linux上的xterm),然后你就可以编写它们了。因此,默认情况下,xterm会理解UTF8并设置为代码页,以便此代码为您提供UTF8笑脸(☺)。
#include <stdio.h>
#include <unistd.h>
char happy[] = { 0xe2, 0x98, 0xba }; /* U+263A */
int main()
{
write(1, happy, 3);
return 0;
}