Rumah >pembangunan bahagian belakang >C++ >Mengapakah `cin >> str` hanya mengeluarkan 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>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>
Pertimbangan Tambahan:
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!