1

我正在做一个练习,我需要在终端上编写 Unicode,只使用write() in <unistd.h>

我不能使用:

  • 普查
  • 设置语言环境
  • printf (实际上练习是再现printf功能)

关于如何执行此操作的任何“低级”建议?

4

1 回答 1

3

正如 Chris 在评论中所写,您需要一个终端(例如 Linux 上的 xterm),它可以理解 Unicode,然后您只需编写它们。因此,默认情况下 xterm 理解 UTF8 并设置为代码页,这样该代码将为您提供 UTF8 笑脸 (☺)。

#include <stdio.h>
#include <unistd.h>

char happy[] = { 0xe2, 0x98, 0xba };  /* U+263A */

int main()
{
   write(1, happy, 3);
   return 0;
}
于 2016-01-25T00:10:48.397 回答