我正在尝试在C中打印微秒符号,但我在输出中没有得到任何数据。
printf("Micro second = \230");
我也试过用 int i = 230;
printf("Character %c", i);
但徒劳无功!有什么指针吗?
答案 0 :(得分:14)
这完全取决于您正在使用的控制台使用的字符编码。如果您使用的是Linux或Mac OS X,那么编码很可能是UTF-8。 μ(Unicode代码点U + 00B5)的UTF-8编码为'C2 B5'(两个字节),因此您可以这样打印:
printf("Micro second = \xC2\xB5"); // UTF-8
如果你在Windows上,那么控制台使用的默认编码是code page 437,那么μ编码为0xE6,所以你必须这样做:
printf("Micro second = \xE6"); // Windows, assuming CP 437
答案 1 :(得分:2)
以下是用C:
打印它的标准认可方式printf("%lc", L'\u00b5');
如果你很乐意假设使用UTF-8,我只需要硬编码"µ"
。
答案 2 :(得分:1)
由于您在Mac OS上工作,您可以放心,终端使用UTF-8。因此,调出字符调色板(编辑 - >特殊字符...),在那里找到微秒符号,并将其放入字符串中。
int main()
{
printf("µs\n");
}
只要您的源文件也是UTF-8,它就会起作用。否则,您需要找到它的代码点(也应在字符调色板中指出)。将鼠标悬停在角色上以查找其UTF-8值(并原谅我的法语系统):
这意味着您可以使用printf("\xc2\xb5")
作为角色本身的独立编码替换。
答案 3 :(得分:0)
printf("%c", 230);
适合我。 我认为这是依赖操作系统的。它依赖于编码(感谢zneak)。我在Windows上。