Maison > développement back-end > C++ > Comment lire une ligne complète de saisie utilisateur à l'aide de getline() en C ?

Comment lire une ligne complète de saisie utilisateur à l'aide de getline() en C ?

Barbara Streisand
Libérer: 2024-11-17 06:33:03
original
677 Les gens l'ont consulté

How to Read a Complete Line of User Input Using getline() in C  ?

Lecture d'une ligne complète avec getline() pour l'écriture de fichiers

En C, lire une ligne complète de saisie utilisateur peut être difficile. Cet article aborde le problème de la lecture de plusieurs mots à partir d'une ligne à l'aide de la fonction "cin".

Nous avons un code existant qui invite l'utilisateur à saisir une ligne de texte et l'écrit dans un fichier. Cependant, le code ne lit actuellement qu'un seul mot à la fois. Pour résoudre ce problème, nous devons utiliser la fonction "getline()" au lieu de "cin".

Le code corrigé devrait ressembler à ceci :

#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 response;  // Changed data type to string
        cout << "What would you like to write?" << endl;
        getline(cin, response);  // Using getline() now

        ofstream file;
        file.open("Characters.txt");
        file << strlen(response) << " Characters." << endl;
        file << endl;
        file << response;

        file.close();

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

    return 0;
}
Copier après la connexion

Le changement essentiel ici est le utilisation de "getline(cin, réponse)" au lieu de "cin >> y". "getline()" lit une ligne de texte, y compris les espaces, ce qui la rend adaptée à notre objectif.

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