Rumah >pembangunan bahagian belakang >C++ >Bagaimana Anda Mensimulasikan EOF pada Input Standard (stdin)?
Dalam pengaturcaraan, sumber input biasa ialah aliran input standard (stdin), yang membaca input daripada papan kekunci pengguna . Walau bagaimanapun, menentukan bila pengguna telah selesai memasukkan data dan mencapai penghujung fail (EOF) kadangkala boleh mencabar.
Adakah stdin Mempunyai EOF?
Secara lalai , stdin sememangnya tidak mempunyai EOF. Ini bermakna pembacaan program daripada stdin akan diteruskan selama-lamanya, menunggu lebih banyak input daripada pengguna.
Menambah EOF pada stdin
Jika anda perlu mensimulasikan EOF secara manual pada stdin, dua kaedah biasa ialah:
Contoh:
Yang berikut coretan kod menggunakan fread untuk membaca dari stdin dan menyemak EOF menggunakan Ctrl D:
<code class="c">#include <stdio.h> int main() { char buffer[BUFSIZ]; int c; while ((c = fread(buffer, sizeof(char), BUFSIZ, stdin)) > 0) { // Process input... } return 0; }</code>
Apabila pengguna menekan Ctrl D, fungsi fread() akan kembali -1, menunjukkan penghujung fail. Ini mencetuskan penghujung gelung while.
Nota:
Adalah penting untuk ambil perhatian bahawa kaedah simulasi EOF yang diterangkan di atas adalah bergantung kepada sistem dan mungkin tidak berfungsi secara konsisten merentasi semua platform.
Atas ialah kandungan terperinci Bagaimana Anda Mensimulasikan EOF pada Input Standard (stdin)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!