fprintf如何工作?fprintf如何在C++中工作?
如果我寫fprintf(outfile, "test %d %d 255/r", 255, 255);
是什麼意思? 我知道outfile是輸出文件的名稱my。 其他值是什麼意思?
fprintf如何工作?fprintf如何在C++中工作?
如果我寫fprintf(outfile, "test %d %d 255/r", 255, 255);
是什麼意思? 我知道outfile是輸出文件的名稱my。 其他值是什麼意思?
"test %d %d 255/r"
告訴它後它將是參數(他們在那裏:255,255),他們預計是整型。他們將被放置而不是%d。
結果你會在你的文件中得到字符串test 255 255 255
。
欲瞭解更多信息,請閱讀std::fprintf
reference。
它與printf類似,只是將輸出打印到文件中。
第一個參數是一個文件句柄,第二個參數是一個格式化字符串,然後根據您在第二個參數中使用的格式說明符的數量有多個參數。
檢查documentation,它包含您提問的所有信息。
第二個參數是格式字符串。任何其他參數都是格式字符串中的說明符的參數(在本例中爲%d)。查看http://www.cppreference.com/wiki/c/io/printf以獲得有關printf樣式函數的良好介紹。
它是格式化輸出到文件流。它的工作原理就像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
」)。
你也應該質疑你對第一個參數的認識。輸出文件中的「outfile」不是** *名稱*。 – innaM 2009-09-03 19:20:48
有點難過,「fprintf」谷歌搜索的第一個結果會告訴你關於它的一切。 – DaClown 2009-09-03 19:26:02
的確如此,但現在*這個討論有機會出現在Google的下一個人身上。拿起那個皺眉,把它翻過來。 – 2009-09-03 19:28:46