[問題] 一個寫檔fprintf順序的問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Dev C++
問題(Question):
C語言
我從A讀取資料,每一筆長度固定,資料共有上千筆
程式的目的是要統計資料各個類型的數量,並列出所有資料(例:甲、乙、丙、丁)
我的做法是
int 甲,乙,丙,丁;
while (1) {
if (end of file) break;
fscanf(...);
{...
做分類
甲++; or 乙++; or 丙++; or 丁++;
...
}
fprintf(...);
}
每讀一筆資料就做分類,相對應的類型數量就會 + 1
然後印出目前讀取到的資料
遇到的問題是:
題目要求格式是先寫甲乙丙丁的數量,再顯示每一筆資料
例:
---
甲 W個
乙 X個
丙 Y個
丁 Z個
data1
data2
data3
.
.
.
data2000
---
但是因為我是每讀一筆就印出來,最後都讀完後才知道統計的數量
fseek我試過,不可行。
因為要先預留字元(或空白),不然會把前面已經寫好的data蓋掉
再加上WXYZ數字也不能確定,所以也沒辦法預留固定的空間
曾經想過用*pointer or array先存資料,最後一起印出
但是上千筆的資料好像太多了 而且覺得費時做罷
所以上來請教有沒有其他方法可以把後來的資料印到前面去
先謝謝了
--
一百次的感動比不上一次的心動
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.48.111
推
06/07 01:14, , 1F
06/07 01:14, 1F
→
06/07 08:51, , 2F
06/07 08:51, 2F
→
06/07 08:52, , 3F
06/07 08:52, 3F