Rumah > pembangunan bahagian belakang > C++ > Mengapakah `getline()` Melangkau Input Selepas Membaca Integer?

Mengapakah `getline()` Melangkau Input Selepas Membaca Integer?

Mary-Kate Olsen
Lepaskan: 2024-12-16 21:06:11
asal
226 orang telah melayarinya

Why Does `getline()` Skip Input After Reading an Integer?

Isu getline(): Melangkau Baris Baharu

Apabila menggunakan getline(cin, str) untuk mendapatkan input pengguna selepas membaca integer menggunakan cin >> nombor, anda mungkin menghadapi tingkah laku yang tidak dijangka di mana gesaan untuk nama melangkau input untuk str. Ini berlaku kerana getline(cin, str) membaca dan membuang aksara baris baharu yang ditinggalkan oleh input integer sebelumnya.

Untuk menangani isu ini, anda boleh menggunakan std::ws sebelum getline(cin, str) untuk melangkau ruang putih , termasuk baris baharu, sebelum membaca rentetan. Ini memastikan getline(cin, str) membaca input pengguna dengan betul tanpa melangkau gesaan nama:

int number;
string str;
int accountNumber;

cout << "Enter number:";
cin >> number;
cout << "Enter name:";
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
getline(cin, str);
cout << "Enter account number:";
cin >> accountNumber;
Salin selepas log masuk

Dengan menggunakan cin.ignore, anda dengan cekap memintas sebarang ruang kosong atau baris baharu yang tinggal, membenarkan getline(cin, str ) untuk menangkap input nama pengguna seperti yang dimaksudkan.

Atas ialah kandungan terperinci Mengapakah `getline()` Melangkau Input Selepas Membaca Integer?. 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