Bagaimana untuk Membaca Data dari Input Standard Sehingga EOF dalam C?

Susan Sarandon
Lepaskan: 2024-11-18 06:26:02
asal
941 orang telah melayarinya

How to Read Data from Standard Input Until EOF in C  ?

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

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan