gpt4 book ai didi

c++ - 当我使用带有重音字母的std::isupper()时该怎么办

转载 作者:行者123 更新时间:2023-12-01 15:10:49 26 4
gpt4 key购买 nike

我必须检查字符串的第一个字符是小写还是大写。

当我使用英语名称(如David),但弹出带有重音字母的名称(如Á,É,Í,Ó等)(如Árpád)时,效果很好,然后它认为它是小写字母。

string name;
std::cin>>name;

if(std::isupper(name[0]))
{
std::cout<<"Upper case"<<std::endl;
}
else
{
std::cout<<"Lower case"<<std::endl;
}

最佳答案

默认情况下,您使用的 std::isupper() / std::islower() 的版本仅适用于ASCII字母(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)。要与其他字符集一起使用,您需要先调用 std::setlocale() ,或使用 std::locale / std::isupper() std::islower() 版本切换到支持您感兴趣的字符的字符集。

关于c++ - 当我使用带有重音字母的std::isupper()时该怎么办,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60802743/

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