Membaca Data dari Cin Sehingga EOF dalam C tanpa Gelung
Mencari kaedah yang berkesan untuk membaca data daripada input pengguna sehingga akhir fail ( EOF) ialah tugas biasa dalam pengaturcaraan C. Walau bagaimanapun, merentasi data tanpa menggunakan gelung memberikan cabarannya.
Satu pendekatan yang berpotensi ialah menggunakan cin.get( input, ' ' ). Walau bagaimanapun, kaedah ini mungkin tidak sesuai kerana ia menamatkan bacaan pada kejadian pertama sama ada EOF atau aksara nol (' '), yang mana ditemui lebih awal.
Untuk pendekatan yang komprehensif dan boleh dipercayai, menggunakan gelung adalah disyorkan. Fungsi std::getline() menawarkan penyelesaian yang mudah:
std::string line; while (std::getline(std::cin, line)) { std::cout << line << std::endl; }
Fungsi getline() membaca input baris demi baris, tamat pada baris baharu secara lalai. Anda boleh menentukan aksara penamatan alternatif, tetapi menyasarkan EOF secara langsung tidak boleh dilaksanakan kerana ia tidak mewakili aksara itu sendiri.
Dengan menggunakan gelung dan getline() seiring, anda boleh membaca data secara berkesan daripada input standard sehingga EOF ditemui. Pendekatan ini menyediakan mekanisme yang mudah dan boleh dipercayai untuk memproses jumlah data yang sewenang-wenangnya tanpa memerlukan logik tambahan untuk menyemak EOF.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca Data dari cin Sehingga EOF dalam C Tanpa Gelung Eksplisit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!