我有一个std::wstring,我想找到哪个字符在上面
大小写,哪些是小写。 std::isupper和islower似乎
只能处理ASCII字符,但我希望能够找出全部
各种大写和小写字符
例如á是“带小写的拉丁小写字母a”
Á是“带大写字母的拉丁大写字母A”
类似地,ä和Ä是大小写德语字母。
我可以使用任何功能(mfc,boost或任何其他库中)
用于查找字符是小写还是大写(与语言环境无关)?
提前致谢
拉胡尔
最佳答案
大多数实现都将提供iswXxx函数,即iswupper
和iswlower
。最大的问题是,宽字符串中使用的编码是不确定的,因此哪些值被确定为大写和小写,实际上取决于目标平台。 (请注意,iswXxx函数不在标准中)
编辑:比尔是个白痴!在<locale>
中声明的std::isupper
模板同时接受char
和wchar_t
。 (但是它需要一个语言环境对象)