c++ - 声明 bytes > 2 的多字节字符数组
问题描述
如何声明一个多字节字符数组,其中每个字符表示 3 或 4 个字节?
我知道我可以做到:char var[] = "AA";
which will write to memory 6161
,我可以做到wchar var[] = L"AA";
which will do 00610061
。如何在 C 或 C++ 中声明更宽的字符数组?
是否有任何其他前缀,如L
指示编译器这样做?
解决方案
C 和 C++ 都提供char32_t
. 在Cchar32_t
中是与uint_least32_t
. 在C++char32_t
中,具有与 相同的大小、符号和对齐方式std::uint_least32_t
,但是是不同的类型。
它们都可以像这样使用
char32_t string[] = U"some text";
推荐阅读
- android - 从使用导航组件的片段返回时会触发哪些方法?
- excel - 为什么不显示我的 VBA ListBox 值?
- html - 留出与标题和文章部分相同的高度
- python - 在父类中调用函数并访问父自我
- swift - Swift 关联类型约束
- php - Preg_split 仅一次,忽略之后的任何内容
- angular - 无法测试使用翻译管道的组件(找不到管道“翻译”)
- python - 尝试将数据附加到 Python 中的列时出错
- ruby-on-rails - 如何将 ActiveStorage::Attached::One 移动到 ActiveStorage::Attached::Many?
- r - 如何在 mutate_at 中使用我当前正在使用的列的名称?