Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Membaca Semua Data dari Input Standard Sehingga EOF dalam C?

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

Barbara Streisand
Lepaskan: 2024-11-28 21:36:12
asal
579 orang telah melayarinya

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

Membaca Data daripada Input Standard Hingga Tamat Fail dalam C

Apabila bekerja dengan data terus daripada input pengguna dalam C , ia selalunya wajar untuk membaca semua data sehingga akhir fail (EOF) dicapai. Fungsi cin.get() membenarkan untuk membaca data sehingga aksara tertentu ditemui. Walau bagaimanapun, menggunakan ' ' sebagai aksara penamatan mungkin tidak optimum kerana ia tidak benar-benar mewakili EOF.

Menggunakan Gelung untuk Pengekstrakan Data

Penyelesaian yang paling berkesan untuk membaca data sehingga EOF melibatkan penggunaan gelung. Fungsi std::getline() amat sesuai untuk tujuan ini. Secara lalai, getline() membaca data sehingga aksara baris baharu ditemui. Walau bagaimanapun, aksara penamatan alternatif boleh ditentukan:

std::string line;
while (std::getline(std::cin, line))
{
    std::cout << line << std::endl;
}
Salin selepas log masuk

Dalam contoh ini, getline() membaca setiap baris data sehingga akhir fail dicapai. Gelung ditamatkan apabila getline() gagal membaca sebarang data lagi, menunjukkan bahawa EOF telah ditemui.

Watak Penamatan Alternatif

Walaupun EOF bukan watak yang boleh ditentukan secara langsung, anda boleh menggunakan nilai sentinel untuk mewakili EOF. Sebagai contoh, anda boleh memulakan pembolehubah kepada nilai tertentu dan membaca data sehingga nilai itu ditemui:

const std::string EOF_MARKER = "EOF";
std::string line;
while (getline(std::cin, line))
{
    if (line == EOF_MARKER)
        break;

    std::cout << line << std::endl;
}
Salin selepas log masuk

Pendekatan ini membolehkan anda menentukan penunjuk akhir fail anda sendiri, memberikan lebih fleksibiliti dalam anda pemprosesan data.

Atas ialah kandungan terperinci Bagaimana untuk Membaca Semua 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