std::basic_string::substr - cppreference.com

##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::basic_string::substr

From cppreference.com
< cpp‎ | string‎ | basic string

basic_string substr( size_type pos = 0, size_type count = npos ) const; |  |

Returns a substring `[pos, pos+count)`. If the requested substring extends past the end of the string, or if count == npos, the returned substring is `[pos,` `size()``)`.

### [edit] Parameters

pos | - | position of the first character to include
count | - | length of the substring

### [edit] Return value

1. An empty string if pos == `size()`.
2. String containing the substring `[pos, pos+count)`.

### [edit] Exceptions

std::out_of_range if pos >`size()`

### [edit] Complexity

Linear in `count`

### [edit] Example

Run this code

    #include <string>
    #include <iostream>

    int main()
    {
        std::string a = "0123456789abcdefghij";

        std::string sub1 = a.substr(10);
        std::cout << sub1 << '\n';

        std::string sub2 = a.substr(5, 3);
        std::cout << sub2 << '\n';

        std::string sub3 = a.substr(12, 100);
        std::cout << sub3 << '\n';

        std::string sub4 = a.substr(a.size()-3, 50);
        std::cout << sub4 << '\n';
    }

Output:

    abcdefghij
    567
    cdefghij
    hij

### [edit] See also

copy | copies characters (public member function) [edit]
sizelength | returns the number of characters (public member function) [edit]
find | find characters in the string (public member function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/string/basic_string/substr&oldid=72100"