c 语言中 printf 函数通过宽字符格式说明符 %lc 和 %c 输出汉字,%lc 针对单个宽字符,%c 针对宽字符数组,需要将字符或字符串声明为 wchar_t 类型并确保输出设备支持汉字显示。
printf 输出汉字格式
在 C 语言中,printf 函数可用于格式化输出,包括汉字。要正确输出汉字,需要指定宽字符格式说明符 %lc 或 %C。
%lc 格式说明符
%lc 格式说明符针对单个宽字符进行格式化输出。使用示例:
int main() {
wchar_t ch = L'中'; // 宽字符,Unicode 编码为 0x4e2d
printf("%lc", ch);
return 0;
}
输出:
中
%C 格式说明符
%C 格式说明符针对宽字符数组进行格式化输出。使用示例:
int main() {
wchar_t str[] = L"你好,世界!"; // 宽字符数组
printf("%C", str);
return 0;
}
输出:
你好,世界!
注意事项
- 在使用 %lc 或 %C 格式说明符时,必须将字符或字符串声明为 wchar_t 类型。
- 确保输出设备支持汉字显示。
- 在 Windows 系统中,还需要设置宽字符支持。执行以下命令:
setlocale(LC_CTYPE, "");