Menguatkuasakan Output Segera dalam C Menggunakan std::flush
Dalam program C, adalah perkara biasa untuk menghadapi senario di mana teks dicetak ke skrin menggunakan std::cout tidak muncul serta-merta. Ini boleh menjadi masalah, terutamanya apabila teks bertujuan untuk memberikan maklum balas masa nyata kepada pengguna semasa pengiraan jangka panjang sedang dilakukan.
Untuk menangani isu ini, pertimbangkan kod berikut:
<code class="cpp">std::cout << "Beginning computations..."; // Output 1 computations(); std::cout << " done!\n"; // Output 2</code>
Output #1 memberitahu pengguna bahawa pengiraan sedang dijalankan, manakala Output #2 menandakan selesainya. Walau bagaimanapun, Output #1 mungkin tidak muncul pada skrin sehingga selepas pengiraan() kembali.
Nasib baik, terdapat penyelesaian mudah: memperkenalkan std::flush. Memasukkan std::flush ke dalam kod memaksa penimbal std::cout dicetak dengan serta-merta ke skrin:
<code class="cpp">std::cout << "Beginning computations..." << std::flush;</code>
Ini memastikan Output #1 dipaparkan sebelum panggilan computations(), memberikan pengguna maklum balas visual segera.
Sebagai alternatif, bukannya std::cout, seseorang boleh menggunakan std::cerr, yang menulis kepada aliran ralat standard. Secara lalai, std::cerr mengepam penimbalnya serta-merta, menyelesaikan masalah tanpa memerlukan std::flush.
Atas ialah kandungan terperinci Bagaimana untuk Memastikan Output Segera dalam C Menggunakan `std::flush`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!