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

Susan Sarandon
Lepaskan: 2024-10-27 16:47:30
asal
843 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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!