📜  C++中的字符串at()(1)

📅  最后修改于: 2023-12-03 14:59:51.328000             🧑  作者: Mango

C++中的字符串at()函数

在C++中,字符串是常用的数据类型之一。C++提供了许多内置函数来处理字符串,并提供了多种方法来访问和操作它们。其中之一就是at()函数,它可以用来访问字符串中特定位置的字符。

语法

at()函数的语法如下:

char& at (size_t pos);
const char& at (size_t pos) const;
参数
  • pos:要访问的字符的位置,位置从0开始计数。
返回值
  • 对于第一个重载的函数,返回一个非常量引用,可以用来修改字符串中的字符。
  • 对于第二个重载的函数,返回一个常量引用,不允许修改字符串中的字符。
示例

下面是几个使用at()函数的示例:

#include <iostream>
#include <string>

int main() {
    std::string str = "Hello, World!";
    
    char ch = str.at(4);  // 访问位置为4的字符
    std::cout << "Character at position 4: " << ch << std::endl;
    
    str.at(7) = 'C';  // 将位置为7的字符修改为'C'
    std::cout << "Modified string: " << str << std::endl;
    
    // 使用const关键字定义常量字符串
    const std::string const_str = "This is a constant string";
    
    char const_ch = const_str.at(2);  // 访问位置为2的字符
    std::cout << "Character at position 2: " << const_ch << std::endl;
    
    // const_str.at(0) = 'T';  // 错误,无法修改常量字符串
    
    return 0;
}
运行结果

上述示例代码的运行结果如下:

Character at position 4: o
Modified string: Hello, Corld!
Character at position 2: i
注意事项
  • 如果使用at()函数访问超出字符串长度范围的位置,将引发std::out_of_range异常,因此在使用之前应该先检查位置是否合法。
  • 使用第二个重载的at()函数访问常量字符串时,不允许对字符串进行修改,否则将引发编译错误。

以上就是关于C++中字符串at()函数的介绍。通过使用at()函数,可以方便地访问和修改字符串中的特定字符。