fprintfはどのように機能しますか?
私が書いたらfprintf(outfile, "test %d %d 255/r", 255, 255);
どういう意味ですか?outfileが出力ファイルの私の名前であることを私は知っています。他の値はどういう意味ですか?
"test %d %d 255/r"
後に引数があり(そしてそれらはそこにあります:255、255)、整数型であることが期待されていることを示します。そして、それらは%dの代わりに配置されます。
その結果test 255 255 255
、ファイルに文字列が含まれるようになります。
詳細については、std::fprintf
リファレンスをお読みください。
最初のパラメーターはファイルハンドルで、2番目はフォーマット文字列です。その後、2番目のパラメーターで使用したフォーマット指定子の数に応じて可変数の引数があります。
ドキュメントを確認してください。ドキュメントには、求めているすべての情報が含まれています。
これは、ファイル ストリームへのフォーマットされた出力です。printf と同じように機能しますが、違いは、printf が常に stdout に出力することです。
fprintf(stdout, "test %d %d 255\n", 255, 255);
同等のものと同じになりますprintf
。
2 番目の引数はフォーマット文字列です。フォーマット文字列には、 、 、 などのフォーマット指定子が含まれて%s
い%d
ます%x
。あなたのものには2つ%d
の が含まれています。各フォーマット指定子には、対応する引数が必要fprintf
です。あなたのものには 2 つの%d
指定子があるため、2 つの数値引数があります。
fprintf(outfile, "Here are two numbers: %d, %d", 4, 5);
同様に、文字列指定子 ( %s
)、16 進指定子 ( %x
)、または long/long long int 指定子 ( %ld
, %lld
) を使用できます。それらのリストは次のとおりです: http://www.cppreference.com/wiki/c/io/printf。これらはすべての C 形式の i/o 関数 (sprintf や scanf など) で同じであることに注意してください。
また、元の例では、「/r
」は文字通り「」を印刷します/r
。キャリッジ リターン (" \r
") を実行しようとしていたようです。
これはprintfに似ており、出力をファイルに出力するだけです。
2番目の引数はフォーマット文字列です。追加の引数は、フォーマット文字列(この場合は%d)の指定子へのパラメーターです。printfスタイルの関数の概要については、http://www.cppreference.com/wiki/c/io/printfを確認してください。