Mendapatkan Input Sehingga Akhir Fail (EOF) Menggunakan C
Banyak program memerlukan keupayaan untuk membaca aliran data yang berterusan daripada pengguna sehingga mereka selesai memasukkannya. Dalam C , ini boleh dicapai melalui pelbagai kaedah.
Memandangkan Kaedah cin.get()
Pada mulanya, fungsi cin.get() telah dipertimbangkan, yang membenarkan membaca sehingga watak tertentu ditemui. Walau bagaimanapun, menggunakan ' ' sebagai watak sasaran mungkin tidak sesuai kerana ia boleh menamatkan input secara pramatang sebelum mencapai EOF.
Pendekatan Gelung: Kaedah Pilihan
Pendekatan yang disyorkan adalah menggunakan gelung untuk membaca input secara berperingkat. Satu cara yang berkesan untuk berbuat demikian ialah melalui fungsi std::getline():
std::string line; while (std::getline(std::cin, line)) { std::cout << line << std::endl; }
Di sini, getline() membaca rentetan sehingga menemui aksara baris baharu secara lalai. Ia juga boleh disesuaikan untuk membaca sehingga aksara tertentu, tetapi EOF itu sendiri bukanlah aksara yang sah untuk tujuan ini.
Pendekatan berulang ini membolehkan atur cara untuk terus membaca baris input daripada pengguna sehingga mereka menunjukkan bahawa mereka mempunyai selesai. Ia boleh dipercayai dan cekap untuk mengurus senario input panjang berubah-ubah.
Atas ialah kandungan terperinci Bagaimanakah C Programs Boleh Mendapatkan Input Pengguna Dengan Cekap Sehingga Akhir Fail (EOF)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!