標準入力ストリーム (stdin) のファイルの終わり (EOF)
プログラムの入力ソースとして stdin を使用する場合、当然のことながら、ファイルの終わり (EOF) 表示をサポートしているかどうか疑問に思います。標準入力の性質は、その構成方法によって異なります。
ファイルからの入力による標準入力
標準入力がファイルからリダイレクトされる場合、本質的に EOF があります。マークは、通常のファイル ストリームと同様です。これは、ファイルには定義されたエンドポイントがあり、読み取り操作がファイルの終わりに達すると EOF 条件が発生するためです。
コンソールからの標準入力
ただし、対話モードとして知られるコンソールからの stdin 入力には、本質的に EOF インジケーターがありません。これは、コンソール入力は通常、ユーザーが入力した文字の連続的なストリームであるためです。
コンソール モードでの EOF のシミュレート
コンソール モードで EOF をシミュレートするには、プラットフォーム-特定のキーの組み合わせを使用できます:
これらのキーの組み合わせを押すと、プログラムは入力が最後に到達したかのように処理しました。
EOF を標準入力に手動で追加する
前述したように、コンソールからの標準入力は無限ストリームとみなされます。 EOF を手動で追加するには、Ctrl D または Ctrl Z キーの組み合わせを使用して明示的に指定する必要があります。
fread 関数または read 関数を使用した解決策
提供されたコード内fread または read を使用してサンプルを作成すると、ループは EOF に到達するまで無限に継続します。このシナリオで EOF 条件を手動で追加するには、次の方法を使用します。 0) {
}
// Read and process data from stdin
}
// Handle EOF condition
以上がインタラクティブ モードの場合、標準入力ストリーム (stdin) でファイルの終わり (EOF) 信号をシミュレートするにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。