我有一个std :: wstring,我想找到哪个字符是上层 case和哪些是小写的。似乎是std :: isupper和islower 仅处理ASCII字符,但我希望能够找到所有 各种大写和小写字符
e.g。 á是“带有急性的拉丁文小写字母” 和Á是“拉丁大写字母A与急性” 类似地,ä和Ä是小写和大写的德语字母。
我可以使用任何功能(mfc,boost或任何其他库) 用于查明字符是小写还是大写(不论语言环境)?
提前致谢
Rahul
答案 0 :(得分:3)
大多数实现都将提供iswXxx函数,即iswupper
和iswlower
。最大的问题是宽字符串中使用的编码是未定义的,因此哪些值被确定为大写和小写实际上是由目标平台决定的。 (请注意,iswXxx函数不在标准中)
<locale>
std::isupper
中为char
声明的模板同时接受wchar_t
和{{1}} s。 (但它需要一个语言环境对象)