[問題] fprintf如何靠右對齊?
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++ 2008
問題(Question):
---------code開始----------
fprintf(cfPtr,"呵呵\t哈哈\t先洗澡\n");
for(int i=0;i<nOrder;i++)
fprintf(cfPtr,"%1.0lf\t%.2lf\t%.2lf\n",daRank[0][i],daRank[1][i],daRank[2][i]);
---------code結束----------
daRank[][]是一個 double 的2D矩陣,
從0印到nOrder-1會印出很多行,
我希望印到檔案時,每一筆資料都可以以中文字為準,向右對齊,
請問要怎麼做?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.43.6
※ 編輯: deo2000 來自: 140.122.43.6 (06/12 22:48)
→
06/12 22:53, , 1F
06/12 22:53, 1F
→
06/12 22:56, , 2F
06/12 22:56, 2F
可是我同時要限制lf輸出的浮點數精度,這樣要怎麼跟指定寬度同時用啊....@@
※ 編輯: deo2000 來自: 140.122.43.6 (06/12 22:59)
→
06/12 23:54, , 3F
06/12 23:54, 3F
→
06/12 23:54, , 4F
06/12 23:54, 4F
for(int i=0;i<nOrder;i++)
fprintf(cfPtr,"%-.0f\t%-.2f\t%-.2f\t\n",daRank[0][i],daRank[1][i],daRank[2][i]);
剛才已經改成這樣,還是都靠左對齊耶
※ 編輯: deo2000 來自: 140.122.43.6 (06/13 00:36)
→
06/13 00:43, , 5F
06/13 00:43, 5F
推
06/13 00:45, , 6F
06/13 00:45, 6F
→
06/13 00:47, , 7F
06/13 00:47, 7F
→
06/13 00:47, , 8F
06/13 00:47, 8F
http://cplusplus.com/reference/clibrary/cstdio/fprintf/
這個網頁寫的是" Right justification is the default ",
所以我應該不用作任何改變,就要自動向右對齊了不是嗎....@@
但是不管怎麼搞,就是無法向右~
***********輸出檔案(無誤差)************
呵呵 哈哈 先洗澡
3 24.00 52.00
3 336.00 292.00
1 376.99 402.12
2 523.60 314.16
1 628.32 753.98
3 1000.00 700.00
1 1570.80 942.48
1 1781.28 904.78
1 1781.28 904.78
2 4188.79 1256.64
2 14137.17 2827.43
***********輸出檔案(無誤差)************
※ 編輯: deo2000 來自: 140.122.43.6 (06/13 00:52)
推
06/13 00:57, , 9F
06/13 00:57, 9F
a是整數位數,b是小數點位數
推
06/13 01:19, , 10F
06/13 01:19, 10F
→
06/13 01:22, , 11F
06/13 01:22, 11F
→
06/13 01:34, , 12F
06/13 01:34, 12F
※ 編輯: deo2000 來自: 218.166.96.44 (06/13 03:58)
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章