Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: Mrovqa
Język C++

basic_string::substr

[metoda] Zwraca podciąg łańcucha znaków.

Składnia

C/C++
#include <string>

namespace std
{
    template <
    class TypZnaku,
    class CechowanieZnakow = char_traits < TypZnaku >,
    class Alokator = allocator < TypZnaku >
    >
    class basic_string
    {
    private:
        typedef basic_string < TypZnaku, CechowanieZnakow, Alokator > UtworzonaKlasaT;
    public:
        UtworzonaKlasaT substr( size_type _pos = 0, size_type _len = npos ) const;
       
    }; //class basic_string
} //namespace std

Argumenty

ArgumentOpis
_posPozycja pierwszego znaku nowego łańcucha znaków.
_lenIlość znaków nowego łańcucha znaków. Wartość » standard C++ » basic_stringnpos spowoduje wykorzystanie wszystkich pozostałych znaków.

Zwracana wartość

Obiekt tego samego typu co aktualny zawierający podciąg znaków obiektu aktualnego.

Opis szczegółowy

Metoda zwraca nowy string, który powstał poprzez skopiowanie _len znaków od pozycji _pos aktualnego obiektu.

Rzucane wyjątki

Jeżeli wyjątek zostanie rzucony, wartość obiektu nie ulegnie zmianie.

Jeżeli _pos jest większe od długości aktualnego obiektu, to zostanie rzucony » standard C++out_of_range.
Jeżeli szablon korzysta z domyślnego alokatora, to » standard C++bad_alloc zostanie rzucony, gdy funkcja będzie chcieć zaalokować pamięć i operacja się nie powiedzie.

Przykład

C/C++
#include <iostream>
#include <string>

typedef std::basic_string < char, std::char_traits < char >, std::allocator < char >> MojString;
int main()
{
    MojString str( "Naprawde bardzo dlugie zdanie z wieloma wyrazami!" );
    MojString str2 = str.substr( 9, 20 );
    std::cout << str2;
    return 0;
}
Standardowe wyjście programu:
bardzo dlugie zdanie

Zagadnienia powiązane

replaceZamienia część znaków na inne. (metoda)
dataZwraca wskaźnik na początek tablicy znaków. (metoda)
findWyszukuje pierwszego wystąpienia danego łańcucha znaków. (metoda)
assignPrzypisuje nową wartość aktualnemu obiektowi. (metoda)
basic_stringBuduje nowy obiekt typu basic_string. (konstruktor)

Linki zewnętrzne