生成std :: isalpha评估为true的范围

虚拟软件公司

对于某些人来说,这可能是一个琐碎的问题,但是我找不到合适的答案。我想要的是生成一个std::string包含所有可能的chars的范围(比如说a ),其结果std::isalphatrue

例如,对于默认语言环境,字符串应为"A...Za...z"但是,例如,如果语言环境为法语,则重音字母也应属于字符串。

PS:我从DieterLücking得到了一个解决方案,https: //stackoverflow.com/a/25125871/3093378它似乎可以在除我的(OS X 10.9.4 g++4.9clang++LLVM版本5.1(clang-503.0.40))之外的所有平台上运行,在该平台上仅存在段错误尝试访问table[i]该行时

if(table[i] & ctype::alpha)

我想知道是否还有其他人可以在Mac或任何其他平台上重现该错误。

用户名

您可以直接使用ctype-table来代替按字母顺序生成一组字符来对字符进行分类:

#include <iostream>
#include <locale>

int main() {
    typedef std::ctype<char> ctype;
    std::locale locale;
    const ctype& facet = std::use_facet<ctype>(locale);
    const ctype::mask* table = facet.table();

    // You might skip this and work with the table, only.
    std::string result;
    for(unsigned i = 0; i < facet.table_size; ++i) {
        if(table[i] & ctype::alpha)
            result += char(i);
    }
    std::cout << result << '\n';
    return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用std :: generate_canonical生成范围[0,1)的随机数?

来自分类Dev

为什么`false && true || true`评估为true?

来自分类Dev

空值评估为TRUE

来自分类Dev

为什么mysql评估(TRUE或TRUE和FALSE)为true?

来自分类Dev

带有GNU STL的GCC 4.8为std :: string构造函数生成错误代码?

来自分类Dev

为什么{} == false评估为false,而[] == false评估为true?

来自分类Dev

true == false以某种方式评估为true?

来自分类Dev

ngIf始终评估为true

来自分类Dev

为什么(true && {})评估为{},而({} && true)评估为true?

来自分类Dev

证明函数在Idris中评估为True

来自分类Dev

为什么gcc为复制std :: vector <>会生成memmove而不是memcpy?

来自分类Dev

0是0 == 0(#评估为True?)

来自分类Dev

[] ==![]评估为true

来自分类Dev

要求PARAM的存在应当评估为true

来自分类Dev

std :: bind和std :: function项不评估为采用0个参数?

来自分类Dev

为什么gcc和clang为std :: find生成了这么多代码?

来自分类Dev

用std :: generate生成矩阵

来自分类Dev

使用string.isalpha在python中评估需求,始终返回True

来自分类Dev

为什么“” <{}评估为true?

来自分类Dev

Matlab评估0.9 <0.9为`True`

来自分类Dev

生成n个(严格为正)值的列表,以使该列表具有预定的均值x和std。开发。ÿ

来自分类Dev

为什么NotImplemented评估为True?

来自分类Dev

Bash -eq评估为true吗?

来自分类Dev

isEqualToString不评估为true

来自分类Dev

从标准容器生成std :: tuple

来自分类Dev

为什么gcc为复制std :: vector <>会生成memmove而不是memcpy?

来自分类Dev

熊猫:.equals 应该评估为 True?

来自分类Dev

当 {a statement that is equal to True} == True 评估为 false 时,为什么 True == True 评估为 True?

来自分类Dev

为覆盖 std::exception 的库生成 swig 接口时出错

Related 相关文章

  1. 1

    如何使用std :: generate_canonical生成范围[0,1)的随机数?

  2. 2

    为什么`false && true || true`评估为true?

  3. 3

    空值评估为TRUE

  4. 4

    为什么mysql评估(TRUE或TRUE和FALSE)为true?

  5. 5

    带有GNU STL的GCC 4.8为std :: string构造函数生成错误代码?

  6. 6

    为什么{} == false评估为false,而[] == false评估为true?

  7. 7

    true == false以某种方式评估为true?

  8. 8

    ngIf始终评估为true

  9. 9

    为什么(true && {})评估为{},而({} && true)评估为true?

  10. 10

    证明函数在Idris中评估为True

  11. 11

    为什么gcc为复制std :: vector <>会生成memmove而不是memcpy?

  12. 12

    0是0 == 0(#评估为True?)

  13. 13

    [] ==![]评估为true

  14. 14

    要求PARAM的存在应当评估为true

  15. 15

    std :: bind和std :: function项不评估为采用0个参数?

  16. 16

    为什么gcc和clang为std :: find生成了这么多代码?

  17. 17

    用std :: generate生成矩阵

  18. 18

    使用string.isalpha在python中评估需求,始终返回True

  19. 19

    为什么“” <{}评估为true?

  20. 20

    Matlab评估0.9 <0.9为`True`

  21. 21

    生成n个(严格为正)值的列表,以使该列表具有预定的均值x和std。开发。ÿ

  22. 22

    为什么NotImplemented评估为True?

  23. 23

    Bash -eq评估为true吗?

  24. 24

    isEqualToString不评估为true

  25. 25

    从标准容器生成std :: tuple

  26. 26

    为什么gcc为复制std :: vector <>会生成memmove而不是memcpy?

  27. 27

    熊猫:.equals 应该评估为 True?

  28. 28

    当 {a statement that is equal to True} == True 评估为 false 时,为什么 True == True 评估为 True?

  29. 29

    为覆盖 std::exception 的库生成 swig 接口时出错

热门标签

归档