Maison > développement back-end > C++ > Pourquoi utiliser « getline(cin, x) » pour obtenir une entrée complète de l'utilisateur ?

Pourquoi utiliser « getline(cin, x) » pour obtenir une entrée complète de l'utilisateur ?

Susan Sarandon
Libérer: 2024-11-20 11:32:50
original
964 Les gens l'ont consulté

Why Use `getline(cin, x)` to Get Complete User Input?

Comment obtenir une entrée utilisateur complète avec getline(cin, x)

En programmation, la lecture des entrées utilisateur est une tâche fondamentale. Bien que cin puisse être utilisé pour récupérer des caractères ou des mots individuels, son utilité peut être limitée lorsqu'il s'agit de lignes complètes de texte. Pour résoudre ce problème, une approche plus appropriée est nécessaire.

Considérez le code suivant, où l'utilisateur est invité à écrire dans un fichier :

#include <iostream>
#include <cstdlib>
#include <cstring>
#include <fstream>

using namespace std;

int main() {
  char x;

  cout << "Would you like to write to a file?" << endl;
  cin >> x;
  if (x == 'y' || x == 'Y') {
    string y;
    cout << "What would you like to write?" << endl;
    getline(cin, y);  // Replace cin >> y;
    ofstream file;
    file.open("Characters.txt");
    file << strlen(y) << " Characters." << endl;
    file << endl;
    file << y;
    file.close();

    cout << "Done. \a" << endl;
  } else {
    cout << "K, Bye." << endl;
  }

  return 0;
}
Copier après la connexion

Dans le code d'origine, la ligne cin>> oui ; ne lirait qu'un seul mot plutôt que la ligne entière de texte saisie par l'utilisateur. Pour remédier à cela, la fonction cin doit être modifiée en getline(cin, y);.

La fonction getline() vous permet de lire une ligne complète d'entrée à partir de l'entrée standard (c'est-à-dire le clavier de l'utilisateur) et stockez-le dans la variable chaîne y. Cela garantit que le code suivant peut accéder à la ligne complète de texte saisie par l'utilisateur, vous permettant de l'écrire dans un fichier ou d'effectuer d'autres opérations selon vos besoins.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal