std:: ws
| 
           
           Défini dans l'en-tête
            
         
            
             <istream>
            
           
           | 
         ||
| 
           
           
            
             template
            
            
             <
            
            
             class
            
            CharT,
            
             class
            
            Traits
            
             >
            
             
         std:: basic_istream < CharT, Traits > & ws ( std:: basic_istream < CharT, Traits > & is ) ;  | 
         ||
Ignore les espaces blancs de début dans un flux d'entrée.
Se comporte comme une UnformattedInputFunction , sauf que is. gcount ( ) n'est pas modifié. Après avoir construit et vérifié l'objet sentinelle, extrait les caractères du flux et les ignore jusqu'à ce que l'une des conditions suivantes se produise :
- 
        une condition de fin de fichier se produit dans la séquence d'entrée (auquel cas la fonction appelle
        
         
          setstate
          
           (
          
          eofbit
          
           )
          
         
        
        mais ne définit pas
        
failbit; ceci ne s'applique pas si leeofbitest déjà défini sur is avant l'appel àws, auquel cas la construction de l'objet sentry définiraitfailbit). 
- le prochain caractère disponible c dans la séquence d'entrée n'est pas un espace blanc tel que déterminé par std:: isspace ( c, is. getloc ( ) ) . Le caractère non-espace n'est pas extrait.
 
Ceci est un manipulateur d'E/S en entrée uniquement, il peut être appelé avec une expression telle que in >> std :: ws pour tout in de type std::basic_istream .
         Table des matières | 
       
Paramètres
| est | - | référence au flux d'entrée | 
Valeur de retour
is (référence au flux après extraction des espaces consécutifs).
Notes
       Si
       
        eofbit
       
       est défini sur le flux avant l'appel, la construction de l'objet sentry définira
       
        failbit
       
       .
      
Exemple
#include <iomanip> #include <iostream> #include <istream> #include <sstream> #include <string> int main() { for (const char* str : {" #1 test", "\t #2 test", "#3 test"}) { std::string line; std::getline(std::istringstream{str}, line); std::cout << "getline returns:\t" << std::quoted(line) << '\n'; std::istringstream iss{str}; std::getline(iss >> std::ws, line); std::cout << "ws + getline returns:\t" << std::quoted(line) << '\n'; } }
Sortie :
getline returns: " #1 test" ws + getline returns: "#1 test" getline returns: " #2 test" ws + getline returns: "#2 test" getline returns: "#3 test" ws + getline returns: "#3 test"
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Applicable à | Comportement publié | Comportement corrigé | 
|---|---|---|---|
| LWG 415 | C++98 | 
         l'appel à
         
          std::ws
         
         pouvait ne pas construire l'objet
         sentry (incohérent avec les autres fonctions d'entrée)  | 
        
         requis de construire
          l'objet sentry  | 
       
Voir aussi
| 
         extrait et ignore les caractères jusqu'à ce que le caractère spécifié soit trouvé
          (fonction membre publique de 
           std::basic_istream<CharT,Traits>
          
          )
         
         |