fprintf、printf、sprintfの違いは何ですか?質問する

fprintf、printf、sprintfの違いは何ですか?質問する

printf、、fprintfおよびの違いsprintfを例を挙げて簡単な英語で説明できる人はいますか?

それはどのストリームですか?

「C でのファイル処理」について読んでいるときに、この 3 つについて本当に混乱しています。

ベストアンサー1

C では、「ストリーム」は抽象化されています。プログラムの観点からは、単にバイトのプロデューサー (入力ストリーム) またはコンシューマー (出力ストリーム) です。これは、ディスク上のファイル、パイプ、端末、またはプリンタや tty などの他のデバイスに対応します。FILEタイプには、ストリームに関する情報が含まれています。通常、オブジェクトの内容を直接操作することはなくFILE、さまざまな I/O ルーチンにポインタを渡すだけです。

標準ストリームは 3 つあります。stdinは標準入力ストリームへのポインター、stdoutは標準出力ストリームへのポインター、stderrは標準エラー出力ストリームへのポインターです。対話型セッションでは、通常、これら 3 つはコンソールを参照しますが、他のファイルやデバイスを指すようにリダイレクトすることもできます。

$ myprog < inputfile.dat > output.txt 2> errors.txt

この例では、stdinnow は を指しinputfile.datstdoutは を指しoutput.txtstderrは を指しますerrors.txt

fprintf指定した出力ストリームにフォーマットされたテキストを書き込みます。

printf書き込みと同等でありfprintf(stdout, ...)、標準出力ストリームが現在指している場所にフォーマットされたテキストを書き込みます。

sprintfcharストリームではなく、フォーマットされたテキストを の配列に書き込みます。

おすすめ記事