gpt4 book ai didi

c - printf() 是否关心语言环境?

转载 作者:太空狗 更新时间:2023-10-29 11:31:06 26 4
gpt4 key购买 nike

wprintf()wchar_t 字符串作为参数并以指定的语言环境字符编码打印该字符串。

但我注意到,当使用 printf() 并向其传递一个 UTF-8 字符串时,无论指定的语言环境字符编码如何(例如,如果UTF-8 字符串包含阿拉伯字符,并且语言环境设置为“C”(不是“C.UTF-8”),则仍将打印阿拉伯字符。

printf() 不关心语言环境,我说得对吗?

最佳答案

True printf 不关心 C 字符串的语言环境。如果您向它传递一个 UTF-8 字符串,它对此一无所知,它只会看到一个字节序列(希望以 ascii NUL 结尾)。然后,字节按原样传递到输出,并由终端解释(或任何输出)。如果终端能够解释 UTF-8 序列,它就会这样做(如果不能,它会尝试按照配置的方式解释它,Latin-1 或类似的),如果它也能够正确打印它们,那么它就会这样做(有时它没有正确的字体/字形并将未知字符打印为 ? 或类似字符)。

关于c - printf() 是否关心语言环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50683104/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com