如何在C中打印微秒符号?

时间:2011-02-20 22:35:42

标签: c

我正在尝试在C中打印微秒符号,但我在输出中没有得到任何数据。

printf("Micro second = \230");

我也试过用 int i = 230;

printf("Character %c", i);

但徒劳无功!有什么指针吗?

4 个答案:

答案 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值(并原谅我的法语系统): Example of the Mac OS special characters palette showing a code point

这意味着您可以使用printf("\xc2\xb5")作为角色本身的独立编码替换。

答案 3 :(得分:0)

  printf("%c", 230);

适合我。 我认为这是依赖操作系统的。它依赖于编码(感谢zneak)。我在Windows上。