substr函数的形式为s.substr(pos, n);
需要两个参数,第一个是开始位置,第二个是获取子串的长度。
函数可以从一个字符串中获取子串,返回一个string,包含s中从pos开始的n个字符的拷贝(pos的默认值是0,n的默认值是s.size() - pos,即不加参数会默认拷贝整个s),可以作为一种构造string的方法。
两个用法:
string str.substr(pos) //默认从str字符串pos位置开始截取到str结束为止
string str.substr(pos, n) // 若pos的值超过了string的大小,则substr函数会抛出一个out_of_range异常;
//若pos+n的值超过了string的大小,则substr会调整n的值,只拷贝到string的末尾
举例:
string str("12345asdf");
string strTmp1= str.substr(1); //获得字符串str中 从第1位开始到结束的字符串,strTmp1值为:"2345asdf"
string strTmp2 = str.substr(1,5); //获得字符串s中 从第1位开始的长度为5的字符串,strTmp1值为:"2345a"