issper和islower为wstring

时间:2010-12-09 07:57:40

标签: c++ visual-c++ boost mfc

我有一个std :: wstring,我想找到哪个字符是上层 case和哪些是小写的。似乎是std :: isupper和islower 仅处理ASCII字符,但我希望能够找到所有 各种大写和小写字符

e.g。 á是“带有急性的拉丁文小写字母” 和Á是“拉丁大写字母A与急性” 类似地,ä和Ä是小写和大写的德语字母。

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

提前致谢

Rahul

1 个答案:

答案 0 :(得分:3)

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

编辑:比尔是个白痴! <locale> std::isupper中为char声明的模板同时接受wchar_t和{{1}} s。 (但它需要一个语言环境对象)