Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah cara saya mensimulasikan End-of-File (EOF) dalam Strim Input Standard (stdin)?

Bagaimanakah cara saya mensimulasikan End-of-File (EOF) dalam Strim Input Standard (stdin)?

Patricia Arquette
Patricia Arquetteasal
2024-10-29 01:23:02552semak imbas

How do I simulate an End-of-File (EOF) in the Standard Input Stream (stdin)?

Tamat Fail (EOF) dalam Strim Input Standard (stdin)

Soalan:

Adakah stdin mempunyai penanda akhir fail? Jika tidak, bolehkah ditambah?

Jawapan:

EOF dalam Stdin

stdin secara semula jadi tidak mempunyai EOF penanda. Apabila membaca daripada stdin (cth., menggunakan fread atau baca), gelung:

while ((c = read(0, buffer, BUFSIZ)) > 0) {
    // ...
}

tidak akan berakhir melainkan EOF disimulasikan secara eksplisit.

Simulasi EOF dalam Stdin

Dalam sistem UNIX, tekan Ctrl D untuk mensimulasikan EOF dalam stdin. Dalam Windows, tekan Ctrl Z. Ini akan menyebabkan atur cara berkelakuan seolah-olah ia telah sampai ke penghujung fail input.

Mengubah Hala Input

Apabila input dialihkan daripada fail (cth., program < input.txt), fail itu sendiri mengandungi EOF, jadi ini bukan isu.

Penjelasan Tambahan

Stdin tanpa pengalihan boleh dianggap sebagai fail tak terhingga. Penghujung input mesti diberi isyarat secara manual dengan mensimulasikan EOF menggunakan Ctrl D atau Ctrl Z.

Atas ialah kandungan terperinci Bagaimanakah cara saya mensimulasikan End-of-File (EOF) dalam Strim Input Standard (stdin)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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