C で EOF まで標準入力からデータを読み取る方法

Susan Sarandon
リリース: 2024-11-18 06:26:02
オリジナル
941 人が閲覧しました

How to Read Data from Standard Input Until EOF in C  ?

C でファイルの終わり (EOF) まで標準入力からデータを読み取る

C でユーザー入力を操作する場合、多くの場合、これが必要になります。ファイルの終わり (EOF) に達するまで、標準入力 (cin) からデータを読み取ります。 EOF まで読み取ろうとする場合、考慮すべき特定の制限とアプローチがあります。

よくある誤解の 1 つは、cin.get(input, ' ') を使用して EOF または null 文字 (' ') までデータを読み取るということです。が発生すると、望ましい結果が得られる可能性があります。ただし、「 」は EOF を表しません。このアプローチでは、EOF または「 」のどちらかが先に起こるまで読み取ります。

EOF まで cin からデータを読み取るには、ループを使用する必要があります。 std::getline() 関数は、この目的に効果的な方法を提供します。

std::string line;
while (std::getline(std::cin, line))
{
    std::cout << line << std::endl;
}
ログイン後にコピー

std::getline() は、cin から入力を読み取り、指定された文字列変数に格納します。デフォルトの区切り文字は改行文字。行が正常に読み取られたかどうかを示すブール値を返します。 EOF に遭遇すると、std::getline() は false を返し、ループが終了します。

EOF まで読み取るときにループが必要になるのは制限のように思えるかもしれませんが、C ではそのことを覚えておくことが重要です。 , EOFはキャラクターそのものではありません。そのため、単純に std::getline() を 1 回呼び出して EOF まですべてのデータを読み取ることは不可能です。

以上がC で EOF まで標準入力からデータを読み取る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート