1

c11 使用 utf-8 utf-16 和 utf-32 的内置类型改进编码支持。

但是我完全找不到在标准函数中使用它们的参考。我发现的只是如何在 c++11 而不是 C 中使用它们。

那么例如如何打印一个 char32_t 呢?

4

1 回答 1

2

没什么好说的:C11 只引入了四个新的标准库函数来处理char16_tand char32_t,它们将它们转换为多字节字符串/从多字节字符串转换:

关于printf(),它们的行为类似于uint_least16_tuint_least32_t类型,因此您可以为它们使用相同的格式说明符:

#include <inttypes.h>

char32_t x = ...;
printf("%" PRIuLEAST32 "\n", x);

如果要将值打印为字符,则需要使用上面的转换函数。

在C11char16_tchar32_tC++11 中处理字符和字符串文字是相同的。

于 2015-05-29T11:42:21.363 回答