这个函数的用途翻译成中文的话就是:
截取一个字符串从XXX
开始一直到XXX
的部分
$Code$
#include<iostream>
using namespace std;
int main()
{
string s="123456abcdefg";
string a=s.substr(3,8);
cout<<a<<endl;
return 0;
}
返回的是字符串s
中从第3
位开始的长度为8
的字符串。
-
用途:一种构造$string$的方法
-
形式:
s.substr(pos, n)
-
解释:返回一个$string$,包含
s
中从pos
开始的n
个字符的拷贝(pos
的默认值是$0$,n
的默认值是s.size() - pos
,即不加参数会默认拷贝整个s
) -
补充:若
pos
的值超过了$string$的大小,则substr
函数会抛出一个out_of_range
异常;若pos+n
的值超过了$string$的大小,则substr
会调整n
的值,只拷贝到$string$的末尾
s.substr(3,8)
返回的应该是字符串s
中从第3位开始的长度为8的字符串。谢谢提醒,已更正
cxsy nb