Namespaces
Variants

std:: cin, std:: wcin

From cppreference.net
< cpp ‎ | io
Défini dans l'en-tête <iostream>
extern std:: istream cin ;
(1)
extern std:: wistream wcin ;
(2)

Les objets globaux std::cin et std::wcin contrôlent l'entrée depuis un tampon de flux de type défini par l'implémentation (dérivé de std::streambuf ), associé au flux d'entrée standard C stdin .

Ces objets sont garantis d'être initialisés pendant ou avant la première fois qu'un objet de type std::ios_base::Init est construit et sont disponibles pour utilisation dans les constructeurs et destructeurs d'objets statiques avec initialisation ordonnée (tant que <iostream> est inclus avant que l'objet soit défini).

À moins que sync_with_stdio ( false ) n'ait été invoqué, il est sûr d'accéder simultanément à ces objets depuis plusieurs threads, que ce soit pour une entrée formatée ou non formatée.

Une fois initialisé :

1) std :: cin . tie() renvoie & std:: cout . Cela signifie que toute opération d'entrée sur std::cin force un appel à std:: cout . flush() si des caractères sont en attente de sortie.
2) std :: wcin . tie ( ) renvoie & std:: wcout . Cela signifie que toute opération d'entrée sur std::wcin force un appel à std:: wcout . flush ( ) si des caractères sont en attente de sortie.

Notes

Le « c » dans le nom fait référence à « caractère » ( stroustrup.com FAQ ) ; cin signifie « entrée de caractères » et wcin signifie « entrée de caractères larges ».

Exemple

#include <iostream>
struct Foo
{
    int n;
    Foo()
    {
        std::cout << "Entrez n : "; // no flush needed
        std::cin >> n;
    }
};
Foo f; // static object
int main()
{
    std::cout << "f.n vaut " << f.n << '\n';
}

Sortie possible :

Entrez n : 10
f.n vaut 10

Voir aussi

initialise les objets de flux standard
(classe membre publique de std::ios_base )
écrit dans le flux de sortie C standard stdout
(objet global)
expression de type FILE * associée au flux d'entrée
expression de type FILE * associée au flux de sortie
expression de type FILE * associée au flux de sortie d'erreur
(constante macro)