printf中%c和%C之间有什么区别?

时间:2009-08-02 07:56:06

标签: c printf visual-c++

我只能找到小c的参考资料。我假设大写C代表Unicode,但我不确定。对于较小的数字,两者都输出相同的字符。

3 个答案:

答案 0 :(得分:4)

来自MSDN

%C

与printf函数一起使用时,指定一个单字节字符;与wprintf函数一起使用时,指定一个宽字符。

%C

与printf函数一起使用时,指定宽字符;与wprintf函数一起使用时,指定一个单字节字符。

答案 1 :(得分:4)

来自MSDN:

%C

type: int or wint_t 
  

与printf函数一起使用时,   指定单字节字符;   当与wprintf函数一起使用时,   指定宽字符。

%C

type: int or wint_t
  

与printf一起使用时   函数,指定一个宽字符;   当与wprintf函数一起使用时,   指定单字节字符。

有关格式说明符here

的更多信息

答案 2 :(得分:4)

请注意,%C不是标准。字符的标准转换为:

  • %c用于int。如果是printf,则unsigned char输出它。 wprintf wchar_t将转换结果输出到btowc
  • %lc用于wint_tprintf将转换结果输出为wcrtomb的多字节字符串。 wprintf输出它就好像它是wchar_t