gpt4 book ai didi

c++ - 在 C++ 中获取拉丁字符

转载 作者:行者123 更新时间:2023-12-01 23:14:02 25 4
gpt4 key购买 nike

我是一个C++菜鸟。我有一个字符串 "tỏa" 但我无法获取字符 'ỏ' ,为什么该字符串的长度是 5?如何获取该字符作为变量?

void test() {
std::string str ("tỏa");
for(int i=0; i<str.length(); ++i){
std::cout << str[i] << std::endl;
}
}

该代码的输出是:

t



a

有人可以帮助我吗?提前致谢。

最佳答案

使用 setlocale() 的组合和 wstring :

Link to live sample

#include <clocale>
#include <iostream>


void test() {
std::wstring str = L"tỏa";
for(int i=0; i<str.length(); ++i){
std::wcout << str[i] << std::endl;
}
std::wcout << "Size: " << str.size(); //the size of the string is 3 as it should
}

int main()
{
setlocale(LC_ALL, "");
test();
return 0;
}

编辑:

如果您想将宽字符保存在变量中,很简单:

wchar_t ch = str[1];

您还可以使用 ASCII 代码:

wchar_t ch = 7887;

注意:这可能不适用于所有 SO 的所有编译器,不能保证 100% 可移植性。

关于c++ - 在 C++ 中获取拉丁字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60277644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com