C ++:Chr()和unichr()等价?

时间:2010-05-30 23:08:56

标签: c++ string unicode chars

我可以发誓我在40分钟前使用了chr()功能,但找不到该文件。我知道它可以达到256,所以我用它:

std::string chars = "";
chars += (char) 42; //etc

所以没关系,但我真的想要访问unicode角色。我可以(w_char) 512吗?或者可能就像python中的unichr()函数一样,我找不到访问任何这些字符的方法。

2 个答案:

答案 0 :(得分:4)

您的编译器中的Unicode字符类型可能是wchar_t。此外,您还需要使用std::wstring来保存一个宽字符串。

std::wstring chars = L"";
chars += (wchar_t) 442; //etc

答案 1 :(得分:2)

你为什么要这样做而不只是'x'或者角色是什么? L'x'适用于广角人物。

但是,如果你有迫切的需要,你可以做(​​wchar_t)1004。 wchar_t可以是16位(通常是Visual Studio)或32位(通常是GCC)。 C ++ 0x附带char16_t和char32_t,以及std :: u16string。