C++:Chr() 和 unichr() 等效吗?
我可以发誓我在 40 分钟前使用了 chr()
函数,但找不到该文件。我知道它最多可以达到 256,所以我使用这个:
std::string chars = "";
chars += (char) 42; //etc
所以没关系,但我真的想访问 unicode 字符。我可以(w_char) 512
吗?或者可能就像 python 中的 unichr()
函数一样,我只是找不到访问任何这些字符的方法。
I could have sworn I used a chr()
function 40 minutes ago but can't find the file. I know it can go up to 256 so I use this:
std::string chars = "";
chars += (char) 42; //etc
So that's alright, but I really want to access unicode characters. Can I do (w_char) 512
? Or maybe something just like the unichr()
function in python, I just can't find a way to access any of those characters.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在您的编译器中,Unicode 字符类型可能是
wchar_t
。此外,您还需要使用 std::wstring 来保存宽字符串。The Unicode character type is probably
wchar_t
in your compiler. Also, you will want to usestd::wstring
to hold a wide string.为什么你想要这样做而不是仅仅使用“x”或任何字符? L'x' 表示宽字符。
但是,如果您有迫切需要,可以执行 (wchar_t)1004。 wchar_t 可以是 16 位(通常是 Visual Studio)或 32 位(通常是 GCC)。 C++0x 附带 char16_t 和 char32_t 以及 std::u16string。
Why would you ever want to do that instead of just 'x' or whatever the character is? L'x' for wide characters.
However, if you have a desperate need, you can do (wchar_t)1004. wchar_t can be 16bit (normally Visual Studio) or 32bit(normally GCC). C++0x comes with char16_t and char32_t, and std::u16string.