C++string类中substr()函数的使用方法

substr()定义

substr()是C++语言函数,主要功能是复制子字符串,要求从指定位置开始,并具有指定的长度。如果没有指定长度_Count或_Count+_Off超出了源字符串的长度,则子字符串将延续到源字符串的结尾。

语法

substr(size_type _Off = 0,size_type _Count = npos)

参数:
_Off——所需的子字符串的起始位置。字符串中第一个字符的索引为 0,默认值为0。
_Count——复制的字符数目
返回值——一个子字符串,从其指定的位置开始

一种构造string的方法
形式 : s.substr(pos, len)
返回值: string,包含s中从pos开始的len个字符的拷贝。pos的默认值是0,len的默认值是s.size() - pos,即不加参数会默认拷贝整个s。
异常 :若pos的值超过了string的大小,则substr函数会抛出一个out_of_range异常;若pos+n的值超过了string的大小,则substr会调整n的值,只拷贝到string的末尾

C++ 中substr函数有三种用法,如下所示:

假设string s(“student12”);
string x=s.substr()                 //默认时的长度为从开始位置到尾
string y=s.substr(5)               //获得字符串s中 从第5位开始到尾的字符串
string z=s.substr(5,3);         //获得字符串s中 从第5位开始的长度为3的字符串

示例

#include
#include
using namespace std;

int main()
{
	string s="student12";
	string x = s.substr();       //默认时的长度为从开始位置到尾
	string y = s.substr(5);      //获得字符串s中 从第5位开始到尾的字符串
	string z = s.substr(5, 3);    //获得字符串s中 从第5位开始的长度为3的字符串
	cout <<  x << endl;
	cout << y << endl;
	cout << z << endl;
	system("pause");
	return 0;

}

结果如下所示:
C++string类中substr()函数的使用方法_第1张图片

你可能感兴趣的:(C/C++编程,C++,substr)