Condividi tramite


<string>

Definisce la classe modello basic_string del contenitore e i diversi modelli di supporto.

Per ulteriori informazioni su basic_string, vedere basic_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

Parametri

  • Char
    Il parametro di modello che descrive il tipo di dati carattere.

  • Considerare
    Il parametro di modello che descrive tutte le proprietà dei dati di tipo carattere CharType.

  • Allocatore
    Il parametro di modello che descrive l'oggetto memorizzato di allocatore di memoria.

  • _Str
    basic_string i dati di tipo carattere CharType supportate.

  • _Val
    Valore da convertire.

  • _Idx
    Il valore di indice del primo carattere non convertito.

  • _Base
    La base numerica da utilizzare.

  • _IStream
    Il flusso di input tali dati di tipo carattere CharType supportate.

  • _OStream
    Il flusso di output tali dati di tipo carattere CharType supportate.

  • _Delimiter
    Il delimitatore della riga.

  • _Left
    I primi (lasciati) e confrontare il parametro, basic_string o dati di tipo carattere.

  • _Right
    Il secondo (destra) viene confrontato il parametro, basic_string o dati di tipo carattere.

Note

Il linguaggio C++ e tipi di supporto due della libreria C++ standard di stringhe:

  • Matrici di caratteri con terminazione null citate spesso stringhe come c.

  • La classe modello oggetti, di tipo basic_string, che gestisce gli argomenti di modello di tipo char.

hd5zecz6.collapse_all(it-it,VS.110).gifDefinizioni typedef

string

Un tipo che descrive una specializzazione di una classe modello basic_string con elementi di tipo char come string.

wstring

Un tipo che descrive una specializzazione di una classe modello basic_string con elementi di tipo wchar_t come wstring.

u16string

Un tipo che descrive una specializzazione di una classe modello basic_string in base agli elementi di tipo char16_t.

u32string

Un tipo che descrive una specializzazione di una classe modello basic_string in base agli elementi di tipo char32_t.

hd5zecz6.collapse_all(it-it,VS.110).gifOperatori

operator+

Concatena due oggetti stringa.

operatore! =

Test se l'oggetto stringa a sinistra dell'operatore non è uguale all'oggetto stringa dalla destra.

operator==

Test se l'oggetto stringa a sinistra dell'operatore è uguale all'oggetto stringa dalla destra.

operator<

Test se l'oggetto stringa a sinistra dell'operatore è minore dell'oggetto stringa dalla destra.

operator<=

Test se l'oggetto stringa a sinistra dell'operatore è minore o uguale all'oggetto stringa dalla destra.

operator<<

Una funzione di modello che inserisce una stringa nel flusso di output.

operator>

Test se l'oggetto stringa a sinistra dell'operatore è maggiore dell'oggetto stringa dalla destra.

operator>=

Test se l'oggetto stringa a sinistra dell'operatore è maggiore o uguale all'oggetto stringa dalla destra.

operator>>

Una funzione di modello che estrae una stringa dal flusso di input.

hd5zecz6.collapse_all(it-it,VS.110).gifFunzioni specifiche del modello

scambio

Scambia le matrici di caratteri di due stringhe.

stod

Converte una sequenza di caratteri a double.

stof

Converte una sequenza di caratteri a float.

stoi

Converte una sequenza di caratteri in un Integer.

stold

Converte una sequenza di caratteri a long double.

stoll

Converte una sequenza di caratteri a long long.

stoul

Converte una sequenza di caratteri a unsigned long.

stoull

Converte una sequenza di caratteri a unsigned long long.

to_string

Converte un valore in string.

to_wstring

Converte un valore al string.

hd5zecz6.collapse_all(it-it,VS.110).gifFunzioni

getline

Stringhe di estrarre dal flusso di input riga per riga.

hd5zecz6.collapse_all(it-it,VS.110).gifClassi

basic_string Class

Una classe modello che descrive gli oggetti che possono archiviare una sequenza di oggetti del tipo di carattere arbitrari.

char_traits Struct

Una classe modello che descrive gli attributi associati con un carattere di tipo CharType

hd5zecz6.collapse_all(it-it,VS.110).gifSpecializzazioni

char_traits<char> Struct

Una struttura che è una specializzazione della struttura char_traits<CharType> di modello a un elemento di tipo char.

char_traits<wchar_t> Struct

Una struttura che è una specializzazione della struttura char_traits<CharType> di modello a un elemento di tipo wchar_t.

char_traits<char16_t> Struct

Una struttura che è una specializzazione della struttura char_traits<CharType> di modello a un elemento di tipo char16_t.

char_traits<char32_t> Struct

Una struttura che è una specializzazione della struttura char_traits<CharType> di modello a un elemento di tipo char32_t.

Requisiti

  • intestazione: <string>

  • Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

Thread safety della libreria C++ standard

Altre risorse

File di intestazione