| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 高山 于 2022-10-23 18:27 编辑  
 
语法(摘自CSDN,侵删): 
- substr(size_type _Off = 0,size_type _Count = npos)
 
  复制代码 说明(摘自CSDN,侵删): 
一种构造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的末尾 
实例演示(此部分原创): 
代码: 
- #include <bits/stdc++.h>
 
 - using namespace std;
 
 - int main() {
 
 -     string s="ilovefishc";
 
 -     cout<<s.substr(1,5);
 
 -     return 0;
 
 - }
 
  复制代码 输出: 
- lovef
 
 - --------------------------------
 
 - Process exited after 1.157 seconds with return value 0
 
 - 请按任意键继续. . .
 
  复制代码 CSDN大神的实例(摘自CSDN,侵删): 
代码: 
- #include<iostream>
 
 - #include<string>
 
 - using namespace std;
 
 - int main()
 
 - {
 
 -         string s="sfsa";
 
 -         string a=s.substr(0,3);
 
 -         string b=s.substr();
 
 -         string c=s.substr(2,3);
 
 -         cout<<a<<endl;
 
 -         cout<<b<<endl;
 
 -         cout<<c<<endl;
 
 -         return 0;
 
 - }
 
 
  复制代码 结果: 
- sfs
 
 - sfsa
 
 - sa
 
  
- --------------------------------
 
 - Process exited after 1.829 seconds with return value 0
 
 - 请按任意键继续. . .
 
  复制代码 评析(此小部分为原创): 
第7行输出了字符“sfsa”第0位到第3机器位(0即为我们的第一位) 
而第8行没有写输出要求,所以被全体输出了 
第9行不用说了吧 
然后第10~12行输出,13行返回0 
 
如果喜欢,别忘了评分 
 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |