Sdílet prostřednictvím


<string>

Definuje třídu šablony kontejneru basic_string a různé podpůrné šablony.

Další informace o basic_string, vizbasic_string Class

namespace std {
    template<class CharType>
        class char_traits;
    template<>
        class char_traits<char>;
    template<>
        class char_traits<wchar_t>;
    template<>
        class char_traits<char16_t>; 
    template<>
        class char_traits<char32_t>;

    template<
        class CharType,
        class Traits = char_traits<CharType>,
        class Allocator = allocator<CharType> 
    > class basic_string;

    typedef basic_string<char> string;
    typedef basic_string<wchar_t> wstring;
    typedef basic_string<char16_t> u16string;
    typedef basic_string<char32_t> u32string;

        // NARROW FUNCTIONS
    int stoi (
        const string& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    long stol (
        const string& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    unsigned long stoul (
        const string& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    long long stoll (
        const string& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    unsigned long long stoull (
        const string& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    float stof (
        const string& _Str, 
        size_t *_Idx = 0
    );
    double stod (
        const string& _Str, 
        size_t *_Idx = 0
    );
    long double stold (
        const string& _Str, 
        size_t *_Idx = 0
    );

    string to_string (long long _Val); 
    string to_string (unsigned long long _Val); 
    string to_string (long double _Val);

        // WIDE FUNCTIONS
    int stoi (
        const wstring& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    long stol (
        const wstring& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    unsigned long stoul (
        const wstring& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    long long stoll (
        const wstring& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    unsigned long long stoull (
        const wstring& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    ); 
    float stof (
        const wstring& _Str, 
        size_t *_Idx = 0
    ); 
    double stod (
        const wstring& _Str, 
        size_t *_Idx = 0
    );
    long double stold (
        const wstring& _Str, 
        size_t *_Idx = 0
    );
    wstring to_wstring (long long _Val); 
    wstring to_wstring (unsigned long long _Val); 
    wstring to_wstring (long double _Val);

       // TEMPLATE FUNCTIONS
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator> operator+ (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator> operator+ (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator> operator+ (
            const basic_string<CharType, Traits, Allocator>& _Left,
            CharType _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator> operator+ (
            const CharType *_Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator> operator+ (
            CharType _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );

    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator>&& operator+ (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>&& _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator>&& operator+ (
            const basic_string<CharType, Traits, Allocator>&& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator>&& operator+ (
            const basic_string<CharType, Traits, Allocator>&& _Left,
            const basic_string<CharType, Traits, Allocator>&& _Right
        );
    template<class CharType, class Traits, class Allocator> 
        basic_string<CharType, Traits, Allocator>&& operator+ (
            const basic_string<CharType, Traits, Allocator>&& _Left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator>&& operator+ (
            const basic_string<CharType, Traits, Allocator>&& _Left,
            CharType _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator>&& operator+ (
            const CharType *_Left,
            const basic_string<CharType, Traits, Allocator>&& _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator>&& operator+ (
            CharType _Left,
            const basic_string<CharType, Traits, Allocator>&& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator== (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator== (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator== (
            const CharType *_Left, 
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator!= (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator!= (
            const basic_string<CharType, Traits, Allocator>& left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator!= (
            const CharType *_Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator< (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator< (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator< (
            const CharType *_Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator>= (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator>= (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator>= (
            const CharType *_Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator> (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator> (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator> (
            const CharType *_Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator<= (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator<= (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator<= (
            const CharType *_Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        void swap (
            basic_string<CharType, Traits, Allocator>& _Left,
            basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_ostream<CharType>& operator<< (
            basic_ostream<CharType>& _OStream,
            const basic_string<CharType, Traits, Allocator>& _Str
        );
    template<class CharType, class Traits, class Allocator>
        basic_istream<CharType>& operator>> (
            basic_istream<CharType>& _IStream,
            basic_string<CharType, Traits, Allocator>& _Str
        );
    template<class CharType, class Traits, class Allocator>
        basic_istream<CharType, Traits>& getline (
            basic_istream<CharType, Traits>& _IStream,
            basic_string<CharType, Traits, Allocator>& _Str
        );
     template<class CharType, class Traits, class Allocator>
        basic_istream<CharType, Traits>& getline (
            basic_istream<CharType, Traits>& _IStream,
            basic_string<CharType, Traits, Allocator>& _Str,
            CharType _Delimiter
        );
     template<class CharType, class Traits, class Allocator>
        basic_istream<CharType, Traits>& getline (
            basic_istream<CharType, Traits>&& _IStream,
            basic_string<CharType, Traits, Allocator>& _Str
        ); 
     template<class CharType, class Traits, class Allocator>
        basic_istream<CharType, Traits>& getline (
            basic_istream<CharType, Traits>&& _IStream,
            basic_string<CharType, Traits, Allocator>& _Str,
            CharType _Delimiter
        );
}  // namespace std

Parametry

  • CharType
    Parametr šablony, který popisuje datový typ znak.

  • Vlastnosti
    Parametr šablony, který popisuje všechny vlastnosti CharType znaková data.

  • Přidělování
    Parametr šablony, který popisuje objekt přidělování paměti uložené.

  • _Str
    basic_string , Která podporuje CharType znaková data.

  • _Val
    Hodnota, kterou chcete převést.

  • _Idx
    Hodnota indexu prvního znaku nepřevedené.

  • _Base
    Číslo základní použití.

  • _IStream
    Vstupní proud, který podporuje CharType znaková data.

  • _OStream
    Výstupní proud, který podporuje CharType znaková data.

  • _Delimiter
    Oddělovač řádků.

  • _Left
    Porovnat (vlevo) první parametr, buď basic_string nebo znaková data.

  • _Right
    Druhé (pravé) porovnání parametr, buď basic_string nebo znaková data.

Poznámky

Jazyk C++ a Standard C++ Library podporují dva typy řetězců:

  • Často označovány jako c řetězce znaků zakončený znakem NULL matice.

  • Šablona třídy objektů, typu basic_string, který zpracovat všechny char-jako argumenty šablony.

hd5zecz6.collapse_all(cs-cz,VS.110).gifFunkce TypeDef

string

Typ, který popisuje specializace šablony třídy basic_string s prvky typu char jako string.

wstring

Typ, který popisuje specializace šablony třídy basic_string s prvky typu wchar_t jako wstring.

u16string

Typ, který popisuje specializace šablony třídy basic_string založené na prvky typu char16_t.

u32string

Typ, který popisuje specializace šablony třídy basic_string založené na prvky typu char32_t.

hd5zecz6.collapse_all(cs-cz,VS.110).gifOperátory

operátor +

Spojuje dva řetězce objekty.

operátor! =

Zkoušky, pokud objekt string na levé straně operátoru není rovno objektu řetězec na pravé straně.

operátor ==

Zkoušky, pokud objekt string na levé straně operátoru je rovno objektu řetězec na pravé straně.

operátor <

Zkoušky, jestliže je objekt řetězec na levé straně operátor menší než na objekt string na pravé straně.

operátor < =

Zkoušky, pokud řetězec na levé straně operátor je menší nebo rovna řetězci objekt na pravé straně.

operátor <<

Funkce šablony Vloží řetězec do výstupního proudu.

operátor >

Zkoušky, pokud objekt string na levé straně operátoru je větší než na objekt string na pravé straně.

operátor > =

Zkoušky, pokud objekt string na levé straně operátoru je větší než nebo rovna řetězci objekt na pravé straně.

operátor >>

Funkce šablony řetězec extrahuje ze vstupního datového proudu.

hd5zecz6.collapse_all(cs-cz,VS.110).gifSpecializované funkce šablony

Zaměnit

Výměny pole ze dvou řetězců znaků.

stod

Posloupnost znaků se převededouble.

stof

Posloupnost znaků se převede float.

stoi

Posloupnost znaků se převede na celé číslo.

stold

Posloupnost znaků se převede long double.

stoll

Posloupnost znaků se převede long long.

stoul

Posloupnost znaků se převede unsigned long.

stoull

Posloupnost znaků se převede unsigned long long.

to_string

Převede hodnotu string.

to_wstring

Převede hodnotu na široké string.

hd5zecz6.collapse_all(cs-cz,VS.110).gifFunkce

getline

Vstupní proud řádek po řádku extrahujte řetězce.

hd5zecz6.collapse_all(cs-cz,VS.110).gifTřídy

basic_string Class

Třída šablona, která popisuje objektů, ukládat posloupnost libovolného znaku podobných objektů.

char_traits Struct

Šablona třídy, která popisuje atributy přidružené znak typu CharType

hd5zecz6.collapse_all(cs-cz,VS.110).gifSpecializace

char_traits<char> Struct

Struktura, která je struktura šablony char_traits<CharType> k prvku typu char.

char_traits<wchar_t> Struct

Struktura, která je struktura šablony char_traits<CharType> k prvku typu wchar_t.

char_traits<char16_t> Struct

Struktura, která je struktura šablony char_traits<CharType> k prvku typu char16_t.

char_traits<char32_t> Struct

Struktura, která je struktura šablony char_traits<CharType> k prvku typu char32_t.

Požadavky

  • Záhlaví: <string>

  • Obor názvů: std

Viz také

Referenční dokumentace

Bezpečnostní vlákno v Standardní knihovna C++

Další zdroje

Soubory hlaviček