C++ 遍历字符串
C++ string 是一个字符数组,可以借助各种成员函数进行提取和操作。它比传统的 C 风格字符数组更加灵活和高级,因为它支持自动内存管理和提供许多有用的操作函数,例如连接、子字符串提取和搜索。要创建 string 对象,必须使用 <string> 头文件中的 std::string class。
遍历字符串
对字符串的循环本质上是一个迭代或遍历过程,覆盖字符串的每个字符,以执行诸如访问、修改或分析字符等各种操作。这可以通过不同类型的循环结构实现,包括传统的 for 循环和 while 循环,甚至 range-based for 循环。
使用 for 循环
for 循环 是 C++ 中遍历字符串的常见方式。它允许您按顺序访问字符串中的每个字符。
示例
#include <iostream>
#include <string>
int main() {
std::string str = "TutorialsPoint";
for (size_t i = 0; i < str.length(); ++i) {
std::cout << str[i] <<" "; // 打印每个字符
}
return 0;
}
输出
T u t o r i a l s P o i n t
使用 while 循环
while 循环 是一种控制流语句,其中代码块会重复执行,只要给定条件为真,如果条件变为假,则循环停止。
示例
#include <iostream>
#include <string>
int main() {
std::string str = "TutorialsPoint";
size_t i = 0;
while (i < str.length()) {
std::cout << str[i] << " "; // 打印每个字符
++i;
}
return 0;
}
输出
T u t o r i a l s P o i n t
使用基于范围的 for 循环
还有另一种控制流语句称为 range-based for 循环,它允许迭代集合中的元素。它与 while 和 for 循环不同,因为它允许使用更直接和直观的方式迭代集合中的元素。
示例
#include <iostream>
#include <string>
int main() {
std::string str = "TutorialsPoint";
for (char c : str) {
std::cout << c << " "; // 打印每个字符
}
return 0;
}
输出
T u t o r i a l s P o i n t