高山 发表于 2022-10-23 18:27:30

【C++版块提升计划】substr的详细用法

本帖最后由 高山 于 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

如果喜欢,别忘了评分

雪山之神 发表于 2022-10-23 18:28:33

{:7_146:}

zhangjinxuan 发表于 2022-10-24 21:00:35

支持楼主!顶一顶

hornwong 发表于 2022-10-25 00:07:26

{:5_108:}

高山 发表于 2022-10-29 12:22:02

zhangjinxuan 发表于 2022-10-24 21:00
支持楼主!顶一顶

这个你会吗?

高山 发表于 2022-10-29 12:23:03

hornwong 发表于 2022-10-25 00:07


你这个表情发1万8千遍了
光我的帖子就被你回了一堆
估计你的高级鱼油就是靠这个表情来的吧

zhangjinxuan 发表于 2022-10-29 15:22:04

hornwong 发表于 2022-10-25 00:07


哈哈,的确~

zhangjinxuan 发表于 2022-10-29 15:22:37

高山 发表于 2022-10-29 12:22
这个你会吗?

会,我要准备每周一练了

zhangjinxuan 发表于 2022-10-29 15:23:07

{:5_108:}(狗头

zhangjinxuan 发表于 2022-10-29 15:24:12

刚刚才从考场赶回来,不过没事,考场也在本市
页: [1]
查看完整版本: 【C++版块提升计划】substr的详细用法