我有一个std::wstring,我想找到哪个字符在上面
大小写,哪些是小写。 std::isupper和islower似乎
只能处理ASCII字符,但我希望能够找出全部
各种大写和小写字符

例如á是“带小写的拉丁小写字母a”
Á是“带大写字母的拉丁大写字母A”
类似地,ä和Ä是大小写德语字母。

我可以使用任何功能(mfc,boost或任何其他库中)
用于查找字符是小写还是大写(与语言环境无关)?

提前致谢

拉胡尔

最佳答案

大多数实现都将提供iswXxx函数,即iswupperiswlower。最大的问题是,宽字符串中使用的编码是不确定的,因此哪些值被确定为大写和小写,实际上取决于目标平台。 (请注意,iswXxx函数不在标准中)

编辑:比尔是个白痴!在<locale>中声明的std::isupper模板同时接受charwchar_t。 (但是它需要一个语言环境对象)

07-27 13:29