Membaca Data daripada Input Standard Hingga Tamat Fail (EOF) dalam C
Apabila bekerja dengan input pengguna dalam C , ia selalunya diperlukan untuk membaca data daripada input standard (cin) sehingga akhir fail (EOF) dicapai. Terdapat batasan dan pendekatan tertentu yang perlu dipertimbangkan semasa cuba membaca sehingga EOF.
Satu tanggapan salah yang biasa ialah menggunakan cin.get(input, ' ') untuk membaca data sehingga sama ada EOF atau aksara nol (' ') yang dihadapi dapat mencapai hasil yang diinginkan. Walau bagaimanapun, ' ' tidak mewakili EOF, dan pendekatan ini akan dibaca sehingga sama ada EOF atau ' ' berlaku, yang mana datang dahulu.
Untuk membaca data dari cin sehingga EOF, perlu menggunakan gelung. Fungsi std::getline() menyediakan kaedah yang berkesan untuk tujuan ini:
std::string line; while (std::getline(std::cin, line)) { std::cout << line << std::endl; }
std::getline() membaca input daripada cin dan menyimpannya dalam pembolehubah rentetan yang ditentukan, dengan pembatas lalai ialah watak baris baharu. Ia mengembalikan nilai boolean yang menunjukkan jika baris berjaya dibaca. Apabila EOF ditemui, std::getline() mengembalikan false, menyebabkan gelung ditamatkan.
Walaupun kelihatan seperti pengehadan untuk memerlukan gelung semasa membaca sehingga EOF, adalah penting untuk diingat bahawa dalam C , EOF bukanlah watak itu sendiri. Oleh itu, adalah mustahil untuk hanya membuat satu panggilan ke std::getline() untuk membaca semua data sehingga EOF.
Atas ialah kandungan terperinci Bagaimana untuk Membaca Data dari Input Standard Sehingga EOF dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!