【发布时间】:2011-02-25 19:24:41
【问题描述】:
我可以发誓我在 40 分钟前使用了 chr() 函数,但找不到文件。我知道它可以达到 256,所以我使用这个:
std::string chars = "";
chars += (char) 42; //etc
没关系,但我真的很想访问 unicode 字符。我可以(w_char) 512 吗?或者可能就像 python 中的 unichr() 函数一样,我只是找不到访问这些字符的方法。
【问题讨论】:
我可以发誓我在 40 分钟前使用了 chr() 函数,但找不到文件。我知道它可以达到 256,所以我使用这个:
std::string chars = "";
chars += (char) 42; //etc
没关系,但我真的很想访问 unicode 字符。我可以(w_char) 512 吗?或者可能就像 python 中的 unichr() 函数一样,我只是找不到访问这些字符的方法。
【问题讨论】:
Unicode 字符类型在您的编译器中可能是wchar_t。此外,您还需要使用std::wstring 来保存一个宽字符串。
std::wstring chars = L"";
chars += (wchar_t) 442; //etc
【讨论】:
您为什么要这样做而不是只使用“x”或其他字符? L'x' 表示宽字符。
但是,如果您有迫切需要,您可以执行 (wchar_t)1004。 wchar_t 可以是 16 位(通常是 Visual Studio)或 32 位(通常是 GCC)。 C++0x自带char16_t和char32_t,以及std::u16string。
【讨论】: