2013年9月12日 星期四

printf, fprintf

printf("%[旗標][寬度][.精度][長度修飾]資料型態", xxx)

資料型態:
c, C  -->字元
s   -->字元陣列
S   -->字元陣列(Unicode)

d, i   -->10進制整數
u    -->10進制無號數
o    --> 8進制無號數
x, X   -->16進制無號數
lld, I64d-->long long int, __int64
ull, I64u-->unsigned long long int

e, E  -->浮點數使用科學符號表示之, 指數將帶正負號
f   -->單精度浮點數(預設輸出精度6位)
lf    -->倍精度浮點數(預設輸出精度6位)
llf   -->雙倍精度浮點數(預設輸出精度6位)
g, G -->由系統決定是否採科學符號表示

[旗標][寬度][.精度]:
<tt><tt><tt><tt>printf("%-10.5d", b);</tt></tt></tt></tt>
旗標 --> -: 向左對齊(預設向右)
     +:強制輸出正負
     0: 若輸出之左半部為空白, 補0
     #: 對進制加上前綴符號, 只有%o(前綴0), %x(前綴0x) 有用
寬度 -->保留10
精度 -->顯示小數點幾位



fprintf: 輸出資料至某檔案
FILE *ofile = fopen("test.txt","w");
fprintf(ofile, "a:%d\n", a);
fclose(ofile);
fopen參數:
"r" 開啟一個文字檔(text),供程式讀取。
"w" 開啟一個文字檔(text),供程式將資料寫入此檔案內。如果磁碟內不包含這個檔案,則系統會自行建立這個檔案。如果磁碟內包含這個檔案,則此檔案內容會被蓋過而消失。
"a" 開啟一個文字檔(text),供程式將資料寫入此檔案的末端。如果此檔案不存在,則系統會自行建立此檔案。
"b"開啟一個二元檔(binary)。
fprintf參數:
fprintf,後面兩欄就是printf的兩個欄位

沒有留言:

張貼留言