小编典典

对于字符串中的每个字符

all

如何在 C++ 中对字符串中的每个字符执行 for 循环?


阅读 69

收藏
2022-05-05

共1个答案

小编典典

  1. 使用基于范围的 for 循环遍历a的字符std::string(它来自 C++11,在最近的 GCC、clang 和 VC11 beta 版本中已经支持):

    std::string str = ???;
    

    for(char& c : str) {
    do_things_with(c);
    }

  2. std::string用迭代器循环 a 的字符:

    std::string str = ???;
    

    for(std::string::iterator it = str.begin(); it != str.end(); ++it) {
    do_things_with(*it);
    }

  3. std::string用老式的 for循环遍历 a 的字符:

    std::string str = ???;
    

    for(std::string::size_type i = 0; i < str.size(); ++i) {
    do_things_with(str[i]);
    }

  4. 循环遍历以 null 结尾的字符数组的字符:

    char* str = ???;
    

    for(char it = str; it; ++it) {
    do_things_with(*it);
    }

2022-05-05