gpt4 book ai didi

c++ - C++ 编译器如何从 utf8 源文件生成 unicode 字符串文字

转载 作者:行者123 更新时间:2023-11-28 05:24:57 27 4
gpt4 key购买 nike

我正在使用 gcc 用 c++ 编写程序。我有一个 utf8 编码的源文件,我希望源文件中的字符串文字作为 UTF-16 字符串。我使用 gcc 选项 -municode,它定义了 UNICODE 宏。字符串字面量仍然作为 const char * 实现。当我使用 TEXT("hello world") 时,它仍然是一个 const char *

另外,我想知道要定义哪个宏,或者要使用哪个命令行选项,以便在 std::string 对象和 std 库的所有模板实例中具有 16 位特征(我想要 std::char_traits成为 wchar_t。

最佳答案

从 C++11 开始,可以通过多种方式为字符串文字和字符串对象指定 UTF-16。它介绍了char16_t对于 UTF-16 字符,std::u16string对于 UTF-16 字符串,以及 u prefix用于 UTF-16 文字。

std::u16string str = u"Hello World";

编译器负责将源代码中的字符转换为适当的文字字符值。

关于c++ - C++ 编译器如何从 utf8 源文件生成 unicode 字符串文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40728489/

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