kar*_*arx 5 c unicode text file-handling emoji
输入 - >
输出 - >≡ƒÿé≡ƒÿé
我只想保持表情符号的原始状态.
我所做的就是这个
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch;
FILE *fp;
fp = fopen("test.txt","r");
while( ( ch = fgetc(fp) ) != EOF )
printf("%c",ch);
fclose(fp);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在 Unicode 编码中,表情符号必须占用超过 1 个字节。因此,在这种情况下逐字节打印将无济于事。如果将输出重定向到文件,您可能会得到与文件几乎相同的结果。
您可以尝试通过更改语言环境(在 Linux 上)来打印字符串,也可以尝试在 Windows 上使用 wprintf(请记住转换为宽字符串)。