C++中substr()函数用法详解
原型:
string substr (size_t pos = 0, size_t len = npos) const;
返回一个新构造的string对象,其值初始化为该对象的子字符串的副本。
子字符串是对象的一部分,从字符位置pos开始并跨越len个字符(或直到字符串的结尾,以先到者为准)。
pos:要复制为子字符串的第一个字符的位置。
如果它等于字符串长度,则该函数返回一个空字符串。
如果该长度大于字符串长度,则抛出out_of_range。
注意:第一个字符由0
表示(不是1
)。
len:
子字符串中包含的字符数(如果字符串较短,则使用尽可能多的字符)。string :: npos的值表示直到字符串末尾的所有字符。
示例
#include <iostream>
#include <string>
int main ()
{
std::string str="We think in generalities, but we live in details.";
// (quoting Alfred N. Whitehead)
std::string str2 = str.substr (3,5); // "think"
std::size_t pos = str.find("live"); // position of "live" in str
std::string str3 = str.substr (pos,4);
std::string str4 = str.substr (pos); // get from "live" to the end
std::cout << str2 << ' ' << str3 << ' '<<str4<<'\n';
return 0;
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BIdejW1Z-1619679754541)(C:\Users\wei\AppData\Roaming\Typora\typora-user-images\image-20210429150151643.png)]