Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah cara saya mensimulasikan End-of-File (EOF) dalam Strim Input Standard (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!