我正在做一个练习,我需要在终端上编写 Unicode,
在 <unistd.h>
中仅使用 write() .
我不能使用:
- 普查尔
- 设置语言环境
- printf(实际上练习是重现
printf
函数)
关于如何执行此操作的任何“低级”建议?
最佳答案
正如 Chris 在评论中所写,您需要一个能够理解 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;
}
关于c - 用 write() 函数写入 Unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34982406/