【问题标题】:isupper and islower for wstringwstring 的 isupper 和 islower
【发布时间】:2011-05-22 17:11:03
【问题描述】:

我有一个 std::wstring 我想找出哪个字符是大写的 大小写,哪些是小写。 std::isupper 和 islower 似乎 只能处理 ASCII 字符,但我希望能够找出所有 大小写字符的种类

例如á 是“带有锐音的拉丁文小写字母 a” Á 是“带有锐音的拉丁文大写字母 A” 同样,ä 和 Ä 是小写和大写的德语字母。

是否有任何我可以使用的功能(mfc、boost 或任何其他库) 用于确定字符是小写还是大写(与语言环境无关)?

提前致谢

拉胡尔

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 好的,所以基本上我想要一个用于 VC++ 的 unicode 感知 isLower/isUpper 函数。但到目前为止我找不到。
    • @Rahul:Billy 指出的特定地区版本正是您所追求的。
    • 是的,知道了,它们是 windows.h 中的 IsCharUpperW 和 IsCharLowerW
    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2018-03-19
    • 2014-11-27
    • 2012-10-31
    • 2020-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多