C++中substr()函数用法详解

C++中substr()函数用法详解

原型:

string substr (size_t pos = 0, size_t len = npos) const;

返回一个新构造的string对象,其值初始化为该对象的子字符串的副本。

子字符串是对象的一部分,从字符位置pos开始并跨越len个字符(或直到字符串的结尾,以先到者为准)。

pos:要复制为子字符串的第一个字符的位置。
如果它等于字符串长度,则该函数返回一个空字符串。
如果该长度大于字符串长度,则抛出out_of_range。
注意:第一个字符由0表示(不是1)。

len:

子字符串中包含的字符数(如果字符串较短,则使用尽可能多的字符)。string :: npos的值表示直到字符串末尾的所有字符。

示例

#include <iostream>
#include <string>

int main ()
{
  std::string str="We think in generalities, but we live in details.";
                                           // (quoting Alfred N. Whitehead)

  std::string str2 = str.substr (3,5);     // "think"

  std::size_t pos = str.find("live");      // position of "live" in str

  std::string str3 = str.substr (pos,4);     
  std::string str4 = str.substr (pos); // get from "live" to the end

  std::cout << str2 << ' ' << str3 << ' '<<str4<<'\n';

  return 0;
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BIdejW1Z-1619679754541)(C:\Users\wei\AppData\Roaming\Typora\typora-user-images\image-20210429150151643.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值