在C ++中遍历一个字符串

时间:2014-10-29 11:00:33

标签: c++ c++11

我正在寻找类似于在Python中遍历字符串的东西:

for char in str:
    do something

如何在C ++中执行此操作?

谢谢

3 个答案:

答案 0 :(得分:24)

如果strstd::string,或其他标准容器char,那就是

for (char c : str) {
    // do something
}

如果您想修改字符串的字符,那么您需要引用char & c而不是值char c

答案 1 :(得分:12)

使用std::string,这将非常简单:

std::string myStr = "Hello";
for (char c : myStr)
    std::cout << c; // Print out every character

或通过引用以防您想要修改它..

std::string myStr = "Hello";
for (char& c : myStr)
    c = 'A';
// mystr = "AAAAA"

答案 2 :(得分:0)

像这样使用基于循环的范围

char a1[5] = {'a', 'a', 'a', 'c'};
for (auto a : a1)
    cout << a << endl;