温馨提示×

c++ basic_string的substr方法如何使用

c++
小樊
89
2024-09-10 15:09:07
栏目: 编程语言

std::basic_string 是 C++ 标准库中的一个模板类,表示可变长度的字符串。substrbasic_string 类的一个成员函数,用于从原字符串中提取子字符串。

substr 函数的原型如下:

basic_string substr(size_type pos = 0, size_type count = npos) const;

参数说明:

  • pos:子字符串开始的位置。默认值为 0,表示从字符串的起始位置开始提取。
  • count:子字符串的长度。默认值为 npos,表示提取从 pos 开始到字符串末尾的所有字符。

返回值:

  • 返回一个新的 basic_string 对象,包含从原字符串中提取的子字符串。

示例代码:

#include<iostream>
#include<string>

int main() {
    std::string str = "Hello, World!";
    
    // 提取从位置 7 开始的 5 个字符
    std::string sub1 = str.substr(7, 5);
    std::cout << "Substring 1: "<< sub1<< std::endl; // 输出 "World"
    
    // 提取从位置 7 开始到字符串末尾的所有字符
    std::string sub2 = str.substr(7);
    std::cout << "Substring 2: "<< sub2<< std::endl; // 输出 "World!"
    
    return 0;
}

注意:如果 pos 大于等于原字符串的长度,substr 将抛出 std::out_of_range 异常。如果 pos + count 大于原字符串的长度,substr 将只提取从 pos 开始到字符串末尾的所有字符。

0