如何遍历字符串中的每个字符?

新手上路,请多包涵

我有一个字符串,我需要在其中抓取每个字符并进行一些检查:

 std::string key = "test"
int i = 0;
while (key.at(i))
{
    // do some checking
    i++;
}

这里的问题是,最终索引 i 会超出范围,所以系统会崩溃。我怎样才能解决这个问题?

原文由 unwise guy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 707
2 个回答
std::string key = "test"
for(int i = 0; i < key.length(); i++)
{
    //do some checking
}

原文由 WendiKidd 发布,翻译遵循 CC BY-SA 3.0 许可协议

你可以使用这样的 for 循环。

 #include <string>

std::string str("hello");

        for(auto &c : str) {
            std::cout << c << std::endl;
        }

原文由 0xFF 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题