Rumah  >  Artikel  >  Adakah mungkin untuk melangkau EOF semasa membaca input?

Adakah mungkin untuk melangkau EOF semasa membaca input?

WBOY
WBOYke hadapan
2024-02-09 11:20:09738semak imbas

editor php Banana ada di sini untuk menjawab soalan biasa: "Bolehkah EOF dilangkau semasa membaca input Dalam PHP, EOF merujuk kepada "Tamat Fail", iaitu tanda di hujung fail. Apabila kami membaca fail, kami biasanya menggunakan gelung untuk membaca baris demi baris sehingga kami sampai ke penghujung fail. Walau bagaimanapun, kadangkala kita mungkin mahu melangkau EOF dan terus membaca baris seterusnya dalam situasi tertentu. Nasib baik, PHP menyediakan kaedah yang sepadan untuk mencapai keperluan ini. Kita boleh menggunakan fungsi feof() untuk menentukan sama ada penghujung fail telah dicapai, dan kemudian menggabungkannya dengan fungsi fgets() untuk membaca baris seterusnya. Dengan cara ini, kita boleh melangkau EOF dan mencapai operasi membaca fail yang fleksibel.

Kandungan soalan

Selepas saya menangkap eof, jika saya cuba membaca maklumat dari input semula, saya tidak lagi mendapat maklumat baru. Adakah terdapat cara untuk memulihkan data bacaan?

Scanner s = new Scanner(System.in);
while (s.hasNextInt()) {
    A[i] = s.nextInt();
    i++;
}

Penyelesaian

Jika strim menunjukkan EOF, bermakna anda telah menggunakan kesemuanya. Tiada apa-apa lagi untuk dibaca. Jika pelaksanaan strim membenarkannya, anda boleh "memundurkan" strim dan membaca bait yang sama sekali lagi. Jika tidak tutup sahaja.

Ini sama seperti makan semua roti. Selepas itu tiada roti untuk dimakan. Teruskan dan cari makanan lain untuk dimakan.

Atas ialah kandungan terperinci Adakah mungkin untuk melangkau EOF semasa membaca input?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam