admin 管理员组

文章数量: 887021


2024年1月18日发(作者:c语言入门视频教程下载)

c++的substr函数

在C++中,substr 函数用于提取字符串的子串。它是 std::string 类的成员函数,用于从一个字符串中截取一部分子串。以下是关于 substr

函数的详细说明。

substr 函数的语法:

std::string substr (size_t pos = 0, size_t len = npos) const;

• pos:子串的起始位置(默认为0)。

• len:要提取的字符数(默认为 npos,即截取到字符串的末尾)。

substr 函数的用法示例:

#include

#include

int main() {

//

创建一个字符串

std::string originalString = "Hello, World!";

//

使用 substr

截取子串

std::string substring1 = (7); //

从位置7开始截取到字符串末尾

std::string substring2 = (0, 5); //

从位置0

开始截取5个字符

//

输出结果

std::cout << "Original String: " << originalString << std::endl;

std::cout << "Substring 1: " << substring1 << std::endl;

std::cout << "Substring 2: " << substring2 << std::endl;

return 0;

}

substr 函数的注意事项:

1. 字符串索引从0开始: 在C++中,字符串的索引是从0开始的。因此,substr(0, 5) 表示从第一个字符开始,截取5个字符。

2. 位置和长度的限制:pos 和 len 参数不能超过字符串的长度。如果指定的位置超出字符串的范围,substr 将抛出

std::out_of_range 异常。

3. npos 常量:npos 是 std::string 类的静态成员,表示一个特殊的无效位置或长度值,通常用于表示直到字符串末尾的截取。

#include

#include

int main() {

std::string str = "abcdef";

//

截取子串从位置2到字符串末尾

std::string result = (2);

std::cout << result << std::endl; //

输出:cdef

//

截取子串从位置1到位置3

result = (1, 3);

std::cout << result << std::endl; //

输出:bcd

//

错误的使用,抛出 std::out_of_range

异常

try {

result = (10); //

超出字符串长度

} catch (const std::out_of_range& e) {

std::cerr << "Caught exception: " << () << std::endl;

}

return 0;

}

substr 函数是一个非常有用的字符串操作函数,可用于在C++中轻松提取字符串的子串。确保在使用时考虑边界条件,以避免潜在的错误。


本文标签: 字符串 函数 位置 截取 子串