Membaca Seluruh Baris daripada Pengguna dengan Cin
Dalam kod C yang anda sediakan, anda bertujuan untuk menulis baris teks pada fail , tetapi anda menghadapi masalah di mana hanya satu perkataan ditulis dan bukannya keseluruhan baris. Penyelesaiannya terletak pada pengendalian kod input pengguna.
Kod menggunakan cin >> y untuk membaca aksara daripada pengguna, tetapi ini hanya menangkap aksara pertama yang dimasukkan. Untuk membaca keseluruhan baris, anda perlu menggunakan pendekatan yang berbeza.
Daripada cin >> y, gunakan kod berikut:
string response; getline(cin, response);
Barisan ini menggunakan getline untuk membaca keseluruhan baris teks daripada pengguna. Teks yang dimasukkan akan disimpan dalam tindak balas pembolehubah rentetan.
Berikut ialah cara untuk memasukkan perubahan ini ke dalam kod anda:
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; }
Dengan menggunakan getline untuk membaca baris lengkap, anda kini boleh dengan berkesan tulis jawapan berbilang perkataan pada fail anda.
Atas ialah kandungan terperinci Bagaimana untuk Membaca Seluruh Baris Teks daripada Pengguna dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!