2010-05-30 123 views
3

我可以发誓我在40分钟前使用了chr()函数,但无法找到该文件。我知道它可以上升到256,所以我用这个:C++:Chr()和unichr()等价吗?

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

所以这是正常的,但我真的想访问Unicode字符。我可以做(w_char) 512吗?或者,也许就像Python中的unichr()函数,我只是找不到访问任何这些字符的方法。

回答

4

编码器中的Unicode字符类型可能为wchar_t。另外,您将需要使用std::wstring来保存一个宽字符串。

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

为什么你会想这样做,而不是只是'x'或任何字符是什么? L'x'为宽字符。

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