所以我想要打印版权符号,而putchar()只是截断字符中最重要的字节,从而产生一个不可打印的字符.
我使用的是Ubuntu MATE,我使用的编码是en_US.UTF-8.现在我所知道的是©的十六进制值是0xc2a9,当我尝试putchar('©' - 0x70)时,它给了我9,它的十六进制值为0x39,加上0x70,你将得到0xa9,这是最少的0xc2a9的有效字节
#include <stdio.h>
main()
{
printf("©\n");
putchar('©');
putchar('\n');
}
Run Code Online (Sandbox Code Playgroud)
我希望输出为:
©
©
Run Code Online (Sandbox Code Playgroud)
而不是:
©
?
Run Code Online (Sandbox Code Playgroud)