2009-09-03 15 views
-1

fprintfはどのように機能しますか?私が書く場合fprintfはC++でどのように動作しますか?

fprintf(outfile, "test %d %d 255/r", 255, 255);

それは何を意味するのでしょうか? outfileは出力ファイルの名前myです。 他の値はどういう意味ですか?

+5

また、最初のパラメータに関する知識も疑問です。あなたの出力ファイルの**名前ではなく "outfile"です。 – innaM

+6

それはちょっと悲しいことですが、 "fprintf" google検索の最初の結果はあなたにすべてのことを話してくれました。 – DaClown

+7

真実ですが、今*この*ディスカッションは次の人のためにGoogleに公開される可能性があります。その傷を取り、それを逆さまにする。 –

答えて

6

"test %d %d 255/r"は、それが引数になると(それはそこにあります:255,255)、整数型であると予想されます。そして、%dの代わりに配置されます。

結果では、ファイルに文字列test 255 255 255が表示されます。

詳細については、std::fprintf referenceをお読みください。

1

printfと似ていますが、出力をファイルに出力するだけです。

3

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

documentationには、あなたが求めているすべての情報が含まれています。

1

第2引数はフォーマット文字列です。追加の引数は、書式文字列(この場合は%d)の指定子へのパラメータです。 printf形式の関数の紹介にはhttp://www.cppreference.com/wiki/c/io/printfをチェックしてください。

3

ファイルストリームへの出力形式です。 printf関数はないようですが、動作しますが、違いは、printf関数は常にあなたはそれがprintf同等と同じになり

fprintf(stdout, "test %d %d 255\n", 255, 255); 

を書いstdout.Ifに出力ということです。

2番目の引数はフォーマット文字列です。フォーマット文字列には、%s,%d,%xなどの書式指定子が含まれます。あなたには2つの%dが含まれています。各書式指定子は対応する引数をfprintfに持つ必要があります。あなたは、文字列指定子(%s)、進指定子(%x)またはロング/ロングlong int型指定子(%ld%lld)を使用することができ、同様に

fprintf(outfile, "Here are two numbers: %d, %d", 4, 5); 

:あなたは2つの%d指定子を持っているので、2つの数値の引数があります。それらのリストは以下のとおりです:http://www.cppreference.com/wiki/c/io/printfこれらの関数は、(sprintfやscanfのような)C形式の入出力関数のすべてで同じであることに注意してください。

また、元の例では、「/r」は文字通り「/r」と表示されます。キャリッジリターン( "\r")をしようとしていたようです。

関連する問題