C語言DEV-C讀取文字檔陣列儲存大小問題 |
答題得分者是:s92405054
|
luckhy
一般會員 發表:11 回覆:17 積分:5 註冊:2009-08-09 發送簡訊給我 |
我讀取文字檔約40MB
資料約40萬筆 因要做資料核對,所以我的做法先將這40萬筆資料(代碼、廠牌、料號、說明)存到陣列裡 再開始做比對 #define pcs 400000//筆數 char IPRL_Code[pcs][6];//代碼 char IPRL_Brands[pcs][6];//廠牌 char IPRL_Part[pcs][22];//料號 char IPRL_Part2[pcs][22];//說明 編譯時沒問題,但執行就一打開馬上就錯誤 是因陣列大小有限制的關係嗎? 我要如何修改方法 讀取這麼大的檔案第一次用 麻煩協助幫忙,謝謝 |
s92405054
高階會員 發表:7 回覆:49 積分:101 註冊:2009-04-07 發送簡訊給我 |
讀大的檔案,我都是用fseek讀一段比一段把要的再放到結構裡,一次先讀出來的話太佔空間囉(個人意見)
如果是一定要40萬筆同時使用那我就不知道了(僅供參考......我還是新手XD多多指教) ===================引 用 luckhy 文 章=================== 我讀取文字檔約40MB 資料約40萬筆 因要做資料核對,所以我的做法先將這40萬筆資料(代碼、廠牌、料號、說明)存到陣列裡 再開始做比對 #define pcs 400000//筆數 char IPRL_Code[pcs][6];//代碼 char IPRL_Brands[pcs][6];//廠牌 char IPRL_Part[pcs][22];//料號 char IPRL_Part2[pcs][22];//說明 編譯時沒問題,但執行就一打開馬上就錯誤 是因陣列大小有限制的關係嗎? 我要如何修改方法 讀取這麼大的檔案第一次用 麻煩協助幫忙,謝謝
編輯記錄
s92405054 重新編輯於 2010-07-13 09:05:23, 註解 無‧
|
luckhy
一般會員 發表:11 回覆:17 積分:5 註冊:2009-08-09 發送簡訊給我 |
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
1) 40萬筆的文字檔,也許能用ODBC/ADO 方式當成資料庫處理…
2) 既然用C寫了,用memory-mapped 吧,直接把檔案映射到memory直接存取,參考 https://delphi.ktop.com.tw/board.php?cid=168&fid=912&tid=98976 ===================引 用 luckhy 文 章=================== 我讀取文字檔約40MB 資料約40萬筆 因要做資料核對,所以我的做法先將這40萬筆資料(代碼、廠牌、料號、說明)存到陣列裡 再開始做比對 #define pcs 400000//筆數 char IPRL_Code[pcs][6];//代碼 char IPRL_Brands[pcs][6];//廠牌 char IPRL_Part[pcs][22];//料號 char IPRL_Part2[pcs][22];//說明 編譯時沒問題,但執行就一打開馬上就錯誤 是因陣列大小有限制的關係嗎? 我要如何修改方法 讀取這麼大的檔案第一次用 麻煩協助幫忙,謝謝 |
luckhy
一般會員 發表:11 回覆:17 積分:5 註冊:2009-08-09 發送簡訊給我 |
|
luckhy
一般會員 發表:11 回覆:17 積分:5 註冊:2009-08-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |