Bagaimanakah C Programs Boleh Mendapatkan Input Pengguna Dengan Cekap Sehingga Akhir Fail (EOF)?

DDD
Lepaskan: 2024-11-18 05:16:02
asal
615 orang telah melayarinya

How Can C   Programs Efficiently Retrieve User Input Until End-of-File (EOF)?

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;
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan