Rumah > pembangunan bahagian belakang > C++ > Mengapa Gunakan `getline(cin, x)` untuk Mendapatkan Input Pengguna Lengkap?

Mengapa Gunakan `getline(cin, x)` untuk Mendapatkan Input Pengguna Lengkap?

Susan Sarandon
Lepaskan: 2024-11-20 11:32:50
asal
957 orang telah melayarinya

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

Cara Mendapatkan Input Pengguna Lengkap dengan getline(cin, x)

Dalam pengaturcaraan, membaca input pengguna ialah tugas asas. Walaupun cin boleh digunakan untuk mendapatkan semula aksara atau perkataan individu, utilitinya boleh dihadkan apabila berurusan dengan baris penuh teks. Untuk menangani isu ini, pendekatan yang lebih sesuai diperlukan.

Pertimbangkan kod berikut, di mana pengguna digesa untuk menulis ke fail:

#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;
}
Salin selepas log masuk

Dalam kod asal, baris cin >> y; hanya akan membaca satu perkataan dan bukannya keseluruhan baris teks yang dimasukkan oleh pengguna. Untuk membetulkan ini, fungsi cin hendaklah diubah suai kepada getline(cin, y);.

Fungsi getline() membolehkan anda membaca baris input yang lengkap daripada input standard (iaitu, papan kekunci pengguna) dan simpan dalam pembolehubah rentetan y. Ini memastikan bahawa kod berikutnya boleh mengakses baris penuh teks yang dimasukkan oleh pengguna, membolehkan anda menulisnya pada fail atau melakukan operasi lain mengikut keperluan.

Atas ialah kandungan terperinci Mengapa Gunakan `getline(cin, x)` untuk Mendapatkan Input Pengguna Lengkap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan