ホームページ  >  記事  >  入力を読み取るときに EOF をスキップすることはできますか?

入力を読み取るときに EOF をスキップすることはできますか?

WBOY
WBOY転載
2024-02-09 11:20:09782ブラウズ

php editor Banana は、「入力を読み取るときに EOF をスキップできますか?」というよくある質問に答えます。PHP では、EOF はファイルの終わりのマークである「End of File」を指します。ファイルを読み取るときは、通常、ループを使用してファイルの終わりに到達するまで 1 行ずつ読み取ります。ただし、特定の状況では、EOF をスキップして次の行を読み続けたい場合があります。幸いなことに、PHP には、この要件を達成するための対応するメソッドが用意されています。 feof() 関数を使用してファイルの終わりに到達したかどうかを判断し、それを fgets() 関数と組み合わせて次の行を読み取ることができます。このようにして、EOF をスキップし、柔軟なファイル読み取り操作を実現できます。

質問内容

eofをキャプチャした後、再度入力から情報を読み取ろうとしても、新しい情報が得られなくなりました。読み取りデータを復旧する方法はありますか?

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

回避策

ストリームが EOF を示している場合は、すべてを消費したことを意味します。他に読むものはありません。ストリームの実装で許可されている場合は、ストリームを「巻き戻し」て同じバイトを再度読み取ることができます。それ以外の場合は閉じてください。

これはパンを全部食べるのと同じです。その後、食べるパンがなくなりました。先に進んで、何か食べるものを見つけてください。

以上が入力を読み取るときに EOF をスキップすることはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。