Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membaca Seluruh Barisan Input daripada Pengguna dalam C?

Bagaimana untuk Membaca Seluruh Barisan Input daripada Pengguna dalam C?

Patricia Arquette
Patricia Arquetteasal
2024-11-22 22:43:16590semak imbas

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

Cara Membaca Seluruh Baris Secara Berkesan daripada Pengguna dengan C

Dalam kod anda, anda bertujuan untuk menulis baris teks pada fail tetapi menghadapi kesukaran membaca baris penuh daripada pengguna. Panduan ini akan membincangkan cara mendapatkan semula baris lengkap dengan berkesan menggunakan kaedah input yang betul.

Untuk membaca keseluruhan baris input, anda perlu menggunakan getline. Sintaksnya adalah seperti berikut:

string response;
getline(cin, response);

Berikut ialah versi ubah suai kod anda yang menggabungkan perubahan ini:

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

Dalam kod yang dikemas kini ini, baris cin >> y; digantikan dengan getline(cin, y);, membolehkan program membaca keseluruhan baris yang dimasukkan oleh pengguna dan menyimpannya dalam rentetan y. Ini memastikan bahawa baris penuh ditulis pada fail.

Atas ialah kandungan terperinci Bagaimana untuk Membaca Seluruh Barisan Input daripada Pengguna dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn