string::substr

std::string::substr

string substr (size_t pos = 0, size_t len = npos) const;
Generate substring
Returns a newly constructed  string object with its value initialized to a copy of a substring of this object.

The substring is the portion of the object that starts at character position  pos and spans  len characters (or until the end of the string, whichever comes first).

Parameters

pos
Position of the first character to be copied as a substring.
If this is equal to the  string length, the function returns an empty string.
If this is greater than the  string length, it throws  out_of_range.
Note: The first character is denoted by a value of  0 (not  1).
len
Number of characters to include in the substring (if the string is shorter, as many characters as possible are used).
A value of  string::npos indicates all characters until the end of the string.

size_t is an unsigned integral type (the same as member type  string::size_type).

Return Value

string object with a substring of this object.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// string::substr
#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);     // get from "live" to the end

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

  return 0;
}


Output:
think live in details.

Complexity

Unspecified, but generally linear in the  length of the returned object.

Iterator validity

No changes.

Data races

The object is accessed.

Exception safety

Strong guarantee: if an exception is thrown, there are no changes in the  string.

If  pos is greater than the  string length, an  out_of_range exception is thrown.

bad_alloc exception is thrown if the function needs to allocate storage and fails.



substr(起始位置,长度)

#include<string>
#include<iostream>
using namespace std;
main()
{
string s("12345asdf");
string a=s.substr(0,4);      //获得字符串s中 从第0位开始的长度为4的字符串
cout<<a<<endl;
}

输出结果为:
1234


用处:::
1.可以用在字符串的反转中。
2.可以用在字符串的循环移位中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值