std:: ctype
| 
           
           Défini dans l'en-tête
            
         
            
             <locale>
            
           
           | 
         ||
| 
           
           
            
             template
            
            
             <
            
            
             class
            
            CharT
            
             >
            
             
         class ctype ;  | 
         ||
       La classe
       
        ctype
       
       encapsule les fonctionnalités de classification des caractères. Toutes les opérations d'entrée de flux effectuées via
       
        
         
          std::
          
           basic_istream
          
         
        
        
         <
        
        CharT
        
         >
        
       
       utilisent le
       
        std::ctype<CharT>
       
       du locale imbriqué dans le flux pour identifier les caractères d'espacement lors de la tokenisation de l'entrée. Les opérations de sortie de flux appliquent
       
        std::ctype<CharT>::widen()
       
       aux arguments de caractères étroits avant la sortie.
      
Diagramme d'héritage
         Table des matières | 
       
Spécialisations
La bibliothèque standard garantit la fourniture des spécialisations suivantes (elles sont requises pour être implémentées par tout objet locale ):
| 
          
          Défini dans l'en-tête
           
        
           
            <locale>
           
          
          | 
       |
         
          
           std::ctype<char>
          
         
         | 
        fournit les équivalents de caractères étroits des classifications de locale "C" minimales. Cette spécialisation utilise une table de consultation pour la classification des caractères | 
| std :: ctype < wchar_t > | fournit la classification des caractères larges appropriée au jeu de caractères natif | 
Types imbriqués
| Type | Définition | 
         
          char_type
         
         | 
        
         
          CharT
         
         | 
       
Membres de données
| Membre | Description | 
         
          
           
            std::locale::id
           
          
         
         
          id
         
         
          [static]
         
         | 
        l'identifiant de la facette | 
Fonctions membres
         construit un nouveau
         
          ctype
         
         facet
         (fonction membre publique)  | 
       |
         détruit un
         
          ctype
         
         facet
         (fonction membre protégée)  | 
       |
         invoque
         
          do_is
         
         (fonction membre publique)  | 
       |
         invoque
         
          do_scan_is
         
         (fonction membre publique)  | 
       |
         invoque
         
          do_scan_not
         
         (fonction membre publique)  | 
       |
         invoque
         
          do_toupper
         
         (fonction membre publique)  | 
       |
         invoque
         
          do_tolower
         
         (fonction membre publique)  | 
       |
         invoque
         
          do_widen
         
         (fonction membre publique)  | 
       |
         invoque
         
          do_narrow
         
         (fonction membre publique)  | 
       
Fonctions membres protégées
| 
          
           
            
             
              [virtual]
             
            
           
           
          | 
        
         classe un caractère ou une séquence de caractères
          (fonction membre protégée virtuelle)  | 
       
| 
          
           
            
             
              [virtual]
             
            
           
           
          | 
        
         localise le premier caractère d'une séquence conforme à une classification donnée
          (fonction membre protégée virtuelle)  | 
       
| 
          
           
            
             
              [virtual]
             
            
           
           
          | 
        
         localise le premier caractère d'une séquence qui ne respecte pas une classification donnée
          (fonction membre protégée virtuelle)  | 
       
| 
          
           
            
             
              [virtual]
             
            
           
           
          | 
        
         convertit un caractère ou des caractères en majuscules
          (fonction membre protégée virtuelle)  | 
       
| 
          
           
            
             
              [virtual]
             
            
           
           
          | 
        
         convertit un caractère ou des caractères en minuscules
          (fonction membre protégée virtuelle)  | 
       
| 
          
           
            
             
              [virtual]
             
            
           
           
          | 
        
         convertit un caractère ou des caractères de
         
          
           char
          
         
         vers
         
          CharT
         
         (fonction membre protégée virtuelle)  | 
       
| 
          
           
            
             
              [virtual]
             
            
           
           
          | 
        
         convertit un caractère ou des caractères de
         
          CharT
         
         vers
         
          
           char
          
         
         (fonction membre protégée virtuelle)  | 
       
Hérité de std:: ctype_base
Types imbriqués
| Type | Définition | 
          
           mask
          
          | 
         type non spécifié BitmaskType (énumération, type entier ou bitset) | 
Constantes membres
| 
           
            
             
              space
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères d'espacement
          (constante membre publique statique)  | 
        
| 
           
            
             
              print
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères imprimables
          (constante membre publique statique)  | 
        
| 
           
            
             
              cntrl
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères de contrôle
          (constante membre publique statique)  | 
        
| 
           
            
             
              upper
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères majuscules
          (constante membre publique statique)  | 
        
| 
           
            
             
              lower
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères minuscules
          (constante membre publique statique)  | 
        
| 
           
            
             
              alpha
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères alphabétiques
          (constante membre publique statique)  | 
        
| 
           
            
             
              digit
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères chiffres
          (constante membre publique statique)  | 
        
| 
           
            
             
              punct
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères de ponctuation
          (constante membre publique statique)  | 
        
| 
           
            
             
              xdigit
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères chiffres hexadécimaux
          (constante membre publique statique)  | 
        
| 
           
            
             
              blank
             
            
            
           
            
             
              
               [static]
              
              
               (C++11)
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères blancs
          (constante membre publique statique)  | 
        
| 
           
            
             
              alnum
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          
           
            alpha
            
             |
            
            digit
           
          
           (constante membre publique statique)  | 
        
| 
           
            
             
              graph
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          
           
            alnum
            
             |
            
            punct
           
          
           (constante membre publique statique)  | 
        
Exemple
        L'exemple suivant démontre la modification d'un
        
         ctype
        
        autre que
        
         ctype<char>
        
        pour tokeniser un fichier CSV :
       
#include <iostream> #include <locale> #include <sstream> struct csv_whitespace : std::ctype<wchar_t> { bool do_is(mask m, char_type c) const { if ((m & space) && c == L' ') return false; // space will NOT be classified as whitespace if ((m & space) && c == L',') return true; // comma will be classified as whitespace return ctype::do_is(m, c); // leave the rest to the base class } }; int main() { std::wstring in = L"Column 1,Column 2,Column 3\n123,456,789"; std::wstring token; std::wcout << "default locale:\n"; std::wistringstream s1(in); while (s1 >> token) std::wcout << " " << token << '\n'; std::wcout << "locale with modified ctype:\n"; std::wistringstream s2(in); csv_whitespace* my_ws = new csv_whitespace; s2.imbue(std::locale(s2.getloc(), my_ws)); while (s2 >> token) std::wcout << " " << token << '\n'; }
Sortie :
default locale: Column 1,Column 2,Column 3 123,456,789 locale with modified ctype: Column 1 Column 2 Column 3 123 456 789
Voir aussi
| 
         spécialisation de
         
          
           std::ctype
          
         
         pour le type
         
          
           char
          
         
          (spécialisation de modèle de classe)  | 
       |
| 
         définit les catégories de classification des caractères
          (classe)  | 
       |
| 
         représente le
         
          
           std::ctype
          
         
         fourni par le système pour les paramètres régionaux nommés
          (modèle de classe)  |