0

fprintfはどのように機能しますか?

私が書いたらfprintf(outfile, "test %d %d 255/r", 255, 255);

どういう意味ですか?outfileが出力ファイルの私の名前であることを私は知っています。他の値はどういう意味ですか?

4

5 に答える 5

6

"test %d %d 255/r"後に引数があり(そしてそれらはそこにあります:255、255)、整数型であることが期待されていることを示します。そして、それらは%dの代わりに配置されます。

その結果test 255 255 255、ファイルに文字列が含まれるようになります。

詳細については、std::fprintfリファレンスをお読みください。

于 2009-09-03T19:15:36.363 に答える
3

最初のパラメーターはファイルハンドルで、2番目はフォーマット文字列です。その後、2番目のパラメーターで使用したフォーマット指定子の数に応じて可変数の引数があります。

ドキュメントを確認してください。ドキュメントには、求めているすべての情報が含まれています。

于 2009-09-03T19:15:39.170 に答える
3

これは、ファイル ストリームへのフォーマットされた出力です。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") を実行しようとしていたようです。

于 2009-09-03T19:17:44.143 に答える
1

これはprintfに似ており、出力をファイルに出力するだけです。

于 2009-09-03T19:15:36.660 に答える
1

2番目の引数はフォーマット文字列です。追加の引数は、フォーマット文字列(この場合は%d)の指定子へのパラメーターです。printfスタイルの関数の概要については、http://www.cppreference.com/wiki/c/io/printfを確認してください。

于 2009-09-03T19:16:35.317 に答える