2009-09-03 65 views
-1

fprintf如何工作?fprintf如何在C++中工作?

如果我寫fprintf(outfile, "test %d %d 255/r", 255, 255);

是什麼意思? 我知道outfile是輸出文件的名稱my。 其他值是什麼意思?

+5

你也應該質疑你對第一個參數的認識。輸出文件中的「outfile」不是** *名稱*。 – innaM 2009-09-03 19:20:48

+6

有點難過,「fprintf」谷歌搜索的第一個結果會告訴你關於它的一切。 – DaClown 2009-09-03 19:26:02

+7

的確如此,但現在*這個討論有機會出現在Google的下一個人身上。拿起那個皺眉,把它翻過來。 – 2009-09-03 19:28:46

回答

6

"test %d %d 255/r"告訴它後它將是參數(他們在那裏:255,255),他們預計是整型。他們將被放置而不是%d。

結果你會在你的文件中得到字符串test 255 255 255

欲瞭解更多信息,請閱讀std::fprintf reference

1

它與printf類似,只是將輸出打印到文件中。

3

第一個參數是一個文件句柄,第二個參數是一個格式化字符串,然後根據您在第二個參數中使用的格式說明符的數量有多個參數。

檢查documentation,它包含您提問的所有信息。

1

第二個參數是格式字符串。任何其他參數都是格式字符串中的說明符的參數(在本例中爲%d)。查看http://www.cppreference.com/wiki/c/io/printf以獲得有關printf樣式函數的良好介紹。

3

它是格式化輸出到文件流。它的工作原理就像printf的那樣,所不同的是printf的總輸出到stdout.If你寫

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

這將是相同printf等同。

它的第二個參數是格式字符串。格式字符串包含格式說明符,如%s,%d,%x。你的包含兩個%d s。每個格式說明符必須在fprintf中有相應的參數。你有兩個%d符,所以有兩個數字參數:

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

同樣,你可以使用字符串說明符(%s),十六進制符(%x)或長/長long int類型說明符(%ld%lld)。這裏是他們的列表:http://www.cppreference.com/wiki/c/io/printf。請注意,它們對於所有C格式的I/O函數(如sprintf和scanf)都是相同的。

此外,在您的原始示例中,「/r」將只是字面上打印「/r」。它看起來像你試圖做回車(「\r」)。