📜  遍历字符串 cpp - C++ (1)

📅  最后修改于: 2023-12-03 15:12:27.050000             🧑  作者: Mango

遍历字符串 cpp - C++

在编程中,我们经常需要对字符串进行遍历操作。在 C++ 中,字符串可以使用字符数组或者 std::string 类型表示。本文将介绍如何遍历 C++ 中表示字符串的不同类型。

遍历字符数组

字符数组是 C 语言中表示字符串的一种方式,在 C++ 中也得到了支持。实际上,C++ 中的 std::string 类型最终也被实现为了一个字符数组。因此,如果我们能够遍历字符数组,也就能够遍历 std::string 对象。

在字符数组中,每个字符都有一个对应的下标可以访问。下面的例子展示了如何使用 for 循环遍历一个字符数组。

char str[] = "hello world";
int len = strlen(str);
for (int i = 0; i < len; ++i)
{
    std::cout << str[i] << std::endl;
}

在这个例子中,我们使用了 C++ 标准库中的 strlen 函数获取了字符数组的长度。然后,我们使用 for 循环遍历整个字符数组,并输出每个字符。

遍历 std::string 对象

如果我们使用的是 C++ 中的 std::string 类型,那么遍历方式也会有所不同。std::string 类型提供了多种遍历方式,其中最常用的是使用 for 循环和迭代器。下面是遍历 std::string 的两种方式示例代码:

for 循环
std::string str = "hello world";
for (size_t i = 0; i < str.size(); ++i)
{
    std::cout << str[i] << std::endl;
}

在这个例子中,我们使用了 std::string 中的 size 函数获取了字符串的长度,然后使用 for 循环遍历整个字符串并输出每个字符。

迭代器
std::string str = "hello world";
for (auto it = str.begin(); it != str.end(); ++it)
{
    std::cout << *it << std::endl;
}

在这个例子中,我们使用了 std::string 中的 begin 和 end 函数获取了一个字符迭代器的范围,然后使用迭代器遍历整个字符串并输出每个字符。

总结

本文介绍了如何在 C++ 中遍历字符数组和 std::string 类型。对于字符数组,我们使用下标操作符和 for 循环进行遍历;对于 std::string,我们可以使用 size 函数和下标操作符,也可以使用迭代器进行遍历。无论使用哪种方式,都需要确保不会越界访问,否则会导致程序崩溃。