C++:Chr() 和 unichr() 等效吗?

发布于 2024-09-03 17:04:43 字数 280 浏览 5 评论 0原文

我可以发誓我在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笛声青案梦长安 2024-09-10 17:04:43

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

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

The Unicode character type is probably wchar_t in your compiler. Also, you will want to use std::wstring to hold a wide string.

std::wstring chars = L"";
chars += (wchar_t) 442; //etc
南薇 2024-09-10 17:04:43

为什么你想要这样做而不是仅仅使用“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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文