Cin.get

Résolu/Fermé
Utilisateur anonyme - Modifié le 18 oct. 2018 à 18:59
 Utilisateur anonyme - 18 oct. 2018 à 21:09
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

Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
18 oct. 2018 à 20:56
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".
Utilisateur anonyme
18 oct. 2018 à 21:09
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

--