◐ Shell
clean mode source ↗

std::char_traits - cppreference.com

Da cppreference.com.

Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate.

La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui.

Click here for the English version of this page

<metanoindex/>

<tbody> </tbody>

Elemento definito nell'header

<string>

template< class CharT > class char_traits;

La classe char_traits definisce il flusso e le proprietà operazione di stringa di tipo carattere, quali i tipi utilizzati per manipolare i caratteri e stringhe di caratteri, così come tutte le operazioni comuni per il tipo di carattere dato.

Original:

The char_traits class defines the stream and string operation properties of a character type, such as the types used for manipulating the characters and character strings, as well as all the common operations for the given character type.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

C'è template char_traits classe definita, che serve come base per istanziazioni espliciti. Soddisfa tutti i requisiti di concetto Traits.

Original:

There is class template char_traits defined, which serves as a basis for explicit instantiations. It fulfills all requirements of Traits concept.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Inoltre, diverse specializzazioni sono definiti per la maggior parte dei tipi di caratteri comuni che che deve specificare i seguenti membri:

Original:

Also, several specializations are defined for most common character types which which has to specify the following members:

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Instantiation char_type int_type off_type pos_type state_type
char_traits<char> char int streamoff streampos mbstate_t
char_traits<wchar_t> wchar_t wint_t wstreamoff wstreampos mbstate_t
char_traits<char16_t> (C++11) char16_t int_least16_t streamoff u16streampos mbstate_t
char_traits<char32_t> (C++11) char32_t int_least32_t streamoff u32streampos mbstate_t

Membri tipi

Tipo

Original:

Type

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Definition
char_type CharT
int_type

di tipo intero che può contenere tutti i valori di char_type più EOF

Original:

an integer type that can hold all values of char_type plus EOF

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

off_type

Implementazione definita

Original:

implementation-defined

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

pos_type

Implementazione definita

Original:

implementation-defined

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

state_type

Implementazione definita

Original:

implementation-defined

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Membri funzioni

[statico]

assegna un carattere

Original:

assigns a character

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(metodo pubblico statico) [modifica]

[statico]

mette a confronto due personaggi

Original:

compares two characters

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(metodo pubblico statico) [modifica]

[statico]

si sposta di una sequenza di caratteri su un altro

Original:

moves one character sequence onto another

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(metodo pubblico statico) [modifica]

[statico]

copia una sequenza di caratteri

Original:

copies a character sequence

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(metodo pubblico statico) [modifica]

[statico]

confronto lessicografico due sequenze di caratteri

Original:

lexicographically compares two character sequences

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(metodo pubblico statico) [modifica]

[statico]

restituisce la lunghezza di una sequenza di caratteri

Original:

returns the length of a character sequence

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(metodo pubblico statico) [modifica]

[statico]

finds a character in a character sequence
(metodo pubblico statico) [modifica]

[statico]

converte int_type a char_type equivalenti

Original:

converts int_type to equivalent char_type

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(metodo pubblico statico) [modifica]

[statico]

converte char_type a int_type equivalenti

Original:

converts char_type to equivalent int_type

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(metodo pubblico statico) [modifica]

[statico]

confronta due valori int_type

Original:

compares two int_type values

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(metodo pubblico statico) [modifica]

[statico]

restituisce un eof valore

Original:

returns an eof value

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(metodo pubblico statico) [modifica]

[statico]

verifica se un personaggio è eof valore

Original:

checks whether a character is eof value

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(metodo pubblico statico) [modifica]

Esempio

Tratti di carattere definiti dall'utente può essere utilizzato per fornire case-insensitive comparison

Original:

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

#include <string>
#include <iostream>
#include <cctype>

struct ci_char_traits : public std::char_traits<char> {
    static bool eq(char c1, char c2) {
         return std::toupper(c1) == std::toupper(c2);
     }
    static bool ne(char c1, char c2) {
         return std::toupper(c1) != std::toupper(c2);
     }
    static bool lt(char c1, char c2) {
         return std::toupper(c1) <  std::toupper(c2);
    }
    static int compare(const char* s1, const char* s2, size_t n) {
        while( n-- != 0 ) {
            if( std::toupper(*s1) < std::toupper(*s2) ) return -1;
            if( std::toupper(*s1) > std::toupper(*s2) ) return 1;
            ++s1; ++s2;
        }
        return 0;
    }
    static const char* find(const char* s, int n, char a) {
        while( n-- > 0 && std::toupper(*s) != std::toupper(a) ) {
            ++s;
        }
        return s;
    }
};

typedef std::basic_string<char, ci_char_traits> ci_string;

std::ostream& operator<<(std::ostream& os, const ci_string& str) {
    return os.write(str.data(), str.size());
}

int main()
{
    ci_string s1 = "Hello";
    ci_string s2 = "heLLo";
    if(s1 == s2)
        std::cout << s1 << " and " << s2 << " are equal\n";
}

Output:

Hello and heLLo are equal

Vedi anche

negozi e manipola sequenze di caratteri

Original:

stores and manipulates sequences of characters

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(classe template) [modifica]