📌  相关文章
📜  在 C++ 中访问给定字符串中字符的不同方法(1)

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

在 C++ 中访问给定字符串中字符的不同方法

在 C++ 中,字符串通常表示为字符数组。可以使用不同的方法来访问给定字符串中的字符,以下是一些常见的方法:

1. 使用数组索引访问字符

可以使用数组索引访问字符串中的字符。例如:

#include <iostream>
#include <string>

int main()
{
    std::string str = "Hello World!";
    std::cout << str[0] << std::endl;  // Output: 'H'
    std::cout << str[6] << std::endl;  // Output: 'W'
    
    return 0;
}

注意: 通过数组索引访问字符串中的字符时,必须确保访问的索引不越界。

2. 使用 at() 函数访问字符

与数组索引类似,也可以使用 at() 函数访问字符串中的字符。但是,at() 函数会检查索引是否越界,并在越界时抛出异常。例如:

#include <iostream>
#include <string>

int main()
{
    std::string str = "Hello World!";
    std::cout << str.at(0) << std::endl;  // Output: 'H'
    std::cout << str.at(6) << std::endl;  // Output: 'W'
    std::cout << str.at(12) << std::endl; // Out of range exception
    
    return 0;
}
3. 使用迭代器访问字符

可以使用迭代器访问字符串中的字符,例如:

#include <iostream>
#include <string>

int main()
{
    std::string str = "Hello World!";
    for (std::string::iterator it = str.begin(); it != str.end(); ++it)
    {
        std::cout << *it << std::endl;
    }
    
    return 0;
}

注意: 迭代器是一个泛型概念,它可以用于访问任何容器中的元素。

4. 使用 for-each 循环访问字符

C++11 引入了 for-each 循环,可以直接使用其访问字符串中的字符。例如:

#include <iostream>
#include <string>

int main()
{
    std::string str = "Hello World!";
    for (char c : str)
    {
        std::cout << c << std::endl;
    }
    
    return 0;
}

以上是在 C++ 中访问给定字符串中字符的几种常见方法。使用不同的方法可以根据实际需要更方便地访问字符串中的字符。