→ tjjh89017:不是.eof()嗎? end of file 09/11 20:44
→ pigcat1315:阿打錯..不過不想用那邊拉@@ 09/11 20:50
※ 編輯: pigcat1315 來自: 114.32.115.221 (09/11 20:50)
推 KTFGU:可不可以 跑一個數字時1 6記算一次 換第二個數字2 7就在計算 09/11 21:34
→ KTFGU:跑一個迴圈就好 09/11 21:35
→ tropical72:格式正確的原始資料先放上來參考。 09/11 21:39
→ pigcat1315:樓上目前我是包在同一個迴圈下 讀檔1取 在讀檔2取 09/11 21:39
→ tropical72:po code ? 09/11 21:41
→ tropical72:會遇到一個問題是,如何保證 f1/f2 數字數量一定一樣? 09/11 21:42
→ pigcat1315:檔案數字量是固定的~ 09/11 21:48
補上大致上的內容
for(int i=0;i<5;i++) //第幾個數字
{
for(int j=0;j<5;j++) //這個是因為我檔案還有不同類別
{
for(int k=0;k<5;k++)//那個檔案
{
readvalue(path,buf,i);
}
}
}
void(string path ,int &buf ,int num)
{
fstream s;
s.open(path,ios::in)
for(int i=0;i<num+1;i++)
s>>buf;
s.close();
}
我現在 這樣也是可以
只是 是因為目前回圈小 當擴大幾萬時 ...怕for會跑的很吃力
想說seekg 能不能配合著用
※ 編輯: pigcat1315 來自: 114.32.115.221 (09/11 22:02)
→ tropical72:你實際有幾個檔案要比對? 09/11 22:12
→ pigcat1315:6個類別 一個類別有150個檔案 1個裡面有5萬組數字 09/11 22:14
→ pigcat1315:我也很想放3為陣列...可是會爆炸Q0Q 09/11 22:14
→ loveme00835:怎麼比對? 09/11 22:16
→ loveme00835:根本還不知道真正的問題是什麼... 09/11 22:19
→ tropical72:我一直很搞不懂你說的「類別」到底是什麼? 09/11 22:20
→ tropical72:指的是 field 欄位? 還是 OO class ? 還是其他? 09/11 22:21
→ tropical72:類別和檔案關係為何?能否舉個例子出來? 09/11 22:22
→ pigcat1315:比對我還沒寫@@ ~就其實是要提出固定位置 數字來排序 09/11 22:22
→ tropical72:主要問題是「記憶體塞不下」嗎? 09/11 22:24
→ pigcat1315:不是程式上的類別 就是合計有900個檔要比對 09/11 22:24
→ pigcat1315:想省下時間~因為如果要比對第5萬組的數字 重頭讀會好久 09/11 22:25
→ tropical72:先全部轉 binary file 如何? 09/11 22:26
→ tropical72:你coding轉完檔的時間,絕對比你現在硬幹來得快。 09/11 22:27
→ tropical72:改 fout.write((char*)(&number), sizeof(int)); 才對 09/11 22:51
→ pigcat1315:感恩大大~謝謝 09/11 23:01
→ loveme00835:不過如果都是小數字呢? 09/11 23:09
→ tropical72:在記憶體不足情況下,以空間換時間最直接方式便為轉bin. 09/11 23:32
→ tropical72:即使小數字亦如此... 吧? 09/11 23:33
→ loveme00835:都是小數字的話說不定檔案大小會倍增 09/11 23:35
→ tropical72:只要平均每個數字>100,就吃4bytes(加分隔符號),轉bin 09/11 23:36
→ tropical72:絕對划算。當然若平均是<10,檔案大小才會倍增.再以原po 09/11 23:38
→ tropical72:之目的論而言,要快速取得指定檔案位置,讀取數值,我認為 09/11 23:38
→ tropical72:在硬碟沒限制情況下,這方便顯得較為簡便,易懂,效果不錯 09/11 23:39
→ tropical72:故聲明了,mem不足,這是以空間(硬碟空間)換取時間之方式 09/11 23:40
→ firejox:看不懂@@ 09/12 16:11
→ firejox:一個檔案是1 2 3 4 5 另一個是6 7 8 9 10 ? 09/12 16:13
→ pigcat1315:恩 樓上這是假設~這樣比較好懂 09/12 19:37
→ firejox:那兩個檔案指標不行嗎? 09/12 20:13