Lecture d'une ligne entière de l'utilisateur avec Cin
Dans le code C fourni, vous souhaitez écrire une ligne de texte dans un fichier , mais vous rencontrez un problème où un seul mot est écrit au lieu de la ligne entière. La solution réside dans la gestion par le code des entrées utilisateur.
Le code utilise cin >> y pour lire un caractère de l'utilisateur, mais cela ne capture que le premier caractère saisi. Pour lire une ligne entière, il est nécessaire d'utiliser une approche différente.
Au lieu de cin >> Oui, utilisez le code suivant :
string response; getline(cin, response);
Cette ligne utilise getline pour lire une ligne entière de texte de l'utilisateur. Le texte saisi sera stocké dans la réponse de la variable chaîne.
Voici comment intégrer ce changement dans votre code :
char x; cout << "Would you like to write to a file?" << endl; cin >> x; if (x == 'y' || x == 'Y') { string response; cout << "What would you like to write." << endl; getline(cin, response); ofstream file; file.open("Characters.txt"); file << strlen(response.c_str()) << " Characters." << endl; file << endl; file << response; // Now writes the entire line file.close(); cout << "Done. \a" << endl; } else { cout << "K, Bye." << endl; }
En utilisant getline pour lire la ligne complète, vous pouvez désormais efficacement écrivez des réponses de plusieurs mots dans votre fichier.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!