Rumah > pembangunan bahagian belakang > C++ > Mengapakah `cin >> str` hanya mengeluarkan perkataan pertama dalam C ?

Mengapakah `cin >> str` hanya mengeluarkan perkataan pertama dalam C ?

Susan Sarandon
Lepaskan: 2024-10-27 16:47:30
asal
1018 orang telah melayarinya

Why does `cin >> str` hanya ekstrak perkataan pertama dalam C ? 
> str` hanya ekstrak perkataan pertama dalam C ? " />

cin Mengekstrak Hanya Perkataan Pertama dalam C

Dalam kod yang disediakan, cin mengeluarkan rentetan menggunakan cin >> str; hanya menangkap perkataan pertama, menyebabkan masalah apabila menangani input yang mengandungi berbilang perkataan Ini disebabkan oleh cara cin beroperasi dalam Turbo C , membaca satu perkataan pada satu masa apabila menemui >>.

<.>Penyelesaian:

Untuk mengekstrak baris lengkap ke dalam tatasusunan aksara dan bukannya satu perkataan, ubah suai pernyataan cin kepada:

<code class="c++">cin.getline(str, sizeof str);</code>
Salin selepas log masuk
Sebagai alternatif, jika menggunakan yang lebih moden Persekitaran C dan bekerja dengan rentetan, anda boleh menggantikan tatasusunan char dengan std::string dan gunakan getline() untuk membaca input seperti berikut:

<code class="c++">getline(cin, str);</code>
Salin selepas log masuk

Pertimbangan Tambahan:

    Sangat disyorkan untuk mengemas kini pengkompil anda, kerana Turbo C 4.5 sudah ketinggalan zaman dan tidak menyokong ciri C moden Visual Studio Express atau penyusun moden yang lain dicadangkan untuk keserasian yang lebih baik.

Atas ialah kandungan terperinci Mengapakah `cin >> str` hanya mengeluarkan perkataan pertama dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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