substr函数定义:
substr( size_type pos = 0, size_type count = npos ) const;参数: pos - 第一个字符所在的位置 count - 子字符串的长度
返回值: 字符串所包含的子字符串 [pos, pos+count).
异常: std::out_of_range if pos > size()
#include <string> #include <iostream> using namespace std; int main() { string a = "0123456789abcdefghij"; //从位置十个开始取到末尾 string sub1 = a.substr(10); cout << sub1 << '\n'; //abcdefghij // 从位置5开始取,取三个 string sub2 = a.substr(5, 3); cout << sub2 << '\n'; //567 // 取最后三个 string sub4 = a.substr(a.size()-3, 50); cout << sub4 << '\n'; //hij try { //当所取位置超出了字符串长度,将抛出异常 string sub5 = a.substr(a.size()+3, 50); cout << sub5 << '\n'; } catch(const std::out_of_range& e) { cout << "pos exceeds string size\n"; } }