Cin.get [Résolu/Fermé]

Signaler
Messages postés
173
Date d'inscription
dimanche 20 juillet 2003
Statut
Membre
Dernière intervention
24 août 2020
-
Messages postés
173
Date d'inscription
dimanche 20 juillet 2003
Statut
Membre
Dernière intervention
24 août 2020
-
Bonjour,
voici quelques lignes de code


include <iostream>

using namespace std;

int main()
{
 char texte[100];
 cout << " entrez votre texte" << endl;
 cin >>texte;

 cout << texte << endl;
cin.get(texte,20);

    return 0;
}


si je rentre 25 lettres il me les affiche les 25 alors que si j'ai bien compris le cin.get il devrait négliger les 5 dernières ou alors je n'ai rien compris
quelqu'un peut il m'expliquer
cordialement

2 réponses

Messages postés
461
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
31 août 2020
61
Ligne 9, tu lis un nombre quelconque de caractères, s'arrête sur le premier caractère de type "espace" ou "retour chariot". ici entrer plus de 99 caractères va produire un résultat indéfini.
Ligne 11, tu affiches ce qui a été lu.
Ligne 12, là il y aura au plus 19 caractères lus, qui peuvent être des espaces mais s'arrête au "retour chariot".
Messages postés
173
Date d'inscription
dimanche 20 juillet 2003
Statut
Membre
Dernière intervention
24 août 2020
2
Desole mais je ne comprends pas je tape 25 caracteres et il m’en affiche 25
Visiblement il ne s’arrête pas au caractère 19
Est ce qu’il faut mettre la ligne cin.get( texte,20 )
Avant cout texte??
Merci d’une réponse
Cordialement

--