Maison  >  Article  >  développement back-end  >  Comment lire une ligne entière d'entrée de l'utilisateur en C ?

Comment lire une ligne entière d'entrée de l'utilisateur en C ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-22 22:43:16521parcourir

How to Read an Entire Line of Input from the User in C  ?

Comment lire efficacement une ligne entière de l'utilisateur avec C

Dans votre code, vous vouliez écrire des lignes de texte dans un fichier mais j'ai rencontré des difficultés à lire la ligne complète de l'utilisateur. Ce guide expliquera comment récupérer efficacement des lignes complètes en utilisant la méthode de saisie appropriée.

Pour lire une ligne entière de saisie, vous devez utiliser getline. La syntaxe est la suivante :

string response;
getline(cin, response);

Voici une version modifiée de votre code qui intègre ce changement :

#include <iostream>
#include <fstream>
#include <string>

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); // Use getline to read the entire line

        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;
}

Dans ce code mis à jour, la ligne cin >> oui; est remplacé par getline(cin, y);, permettant au programme de lire la ligne entière saisie par l'utilisateur et de la stocker dans la chaîne y. Cela garantit que la ligne complète est écrite dans le 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!

Déclaration:
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