Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Membaca Data dari cin Sehingga EOF dalam C Tanpa Gelung Eksplisit?

Bagaimanakah Saya Boleh Membaca Data dari cin Sehingga EOF dalam C Tanpa Gelung Eksplisit?

Barbara Streisand
Lepaskan: 2024-11-18 04:18:03
asal
606 orang telah melayarinya

How Can I Read Data from cin Until EOF in C   Without Explicit Loops?

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

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!

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