c
私は、標準入力の内容を読み取って出力するテスト プログラムの作成を任されました。
しかし、私は少し疑問があります: 正確には何standard input
ですか?
キーボードで入力したものですか?それは私が読まなければならないファイルですか?
両方とも?
ありがとう。
c
私は、標準入力の内容を読み取って出力するテスト プログラムの作成を任されました。
しかし、私は少し疑問があります: 正確には何standard input
ですか?
キーボードで入力したものですか?それは私が読まなければならないファイルですか?
両方とも?
ありがとう。
「標準入力」とは、ファイル記述子 0 に関連付けられている特定の入力ストリームを指します。これはscanf
、 、getchar
、 (絶対に使用しないgets
でください) などのすべてが読み取られるストリームです。基本的に、引数として a を取らない stdio 入力関数は、標準入力から読み取っています。 FILE *
通常はコンソールに関連付けられていますが、リダイレクトしてファイルまたは他のデバイスから読み取ることができます。
例えば、
scanf( "%d", &someVal );
と同等です
fscanf( stdin, "%d", &someval );
どちらの関数も標準入力 ( stdin
) から読み取ります。
コマンドラインからプログラムを実行するときにキーボードで入力するものです
プログラム用に定義された 3 つの標準ストリームの 1 つです。
コマンドラインでプログラムを起動すると、端末にテキストを入力でき、そのテキストはプログラムの標準入力ストリームに渡されます
他の 2 つのストリームは、端末に表示される標準出力と、標準出力にあってはならないエラー メッセージを表示するエラー ストリームです。
ほとんどの端末では、次のようにファイルとの間でストリームをリダイレクトできます。
myprog.exe < file_to_read.txt
file_to_read.txt が読み込まれ、入力ストリームに渡されます
Unless redirected, input is expected from the keyboard which started the program.