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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (78)

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

提问于
用户回答回答于
  1. 通过循环字符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(std::string::size_type i = 0; i < str.size(); ++i) { do_things_with(str[i]); }
  4. 循环遍历: char* str = ???; for(char* it = str; *it; ++it) { do_things_with(*it); }
用户回答回答于

在C++中:

std::string s("Hello world");

for (char & c : s)
{
    std::cout << "One character: " << c << "\n";
    c = '*';
}

在C++98/03中:

for (std::string::iterator it = s.begin(), end = s.end(); it != end; ++it)
{
    std::cout << "One character: " << *it << "\n";
    *it = '*';
}

扫码关注云+社区

领取腾讯云代金券