一、讀取大文件
不要一行行讀取(太慢),先將文件內容全部讀入內存(動態分配的),再在內存的基礎上操作 。
ftell() 文件操作:偏移到文件末尾
或者一部分比如4MB,每次分批次讀取到內存,可能要判斷最后是否換行 。
問題:
可能讀入超過幾百MB,程序報錯 。
原因可能是機器連續的物理內存不足 。
二、三維數組(大內存)動態分配出錯
使用連續的二維數組指針 。連續二維+一個數組內存 。
int* (*data)[SIZE2][SIZE3] = new int*[SIZE1][SIZE2][SIZE3]; // 申請三維數組方法
int *p = data[0][0][0];// 從頭,方便寫
int* (*data)[4] = new int*[3][4]; // 申請非連續三維數組方法 int[3][4][5]
data[i][j][k] = content; // 寫數據
【怎么避免了連續大內存分配出錯的情況 如何讀取大于500M的文件】或者可以用鏈表的形式來做,就避免了連續大內存分配出錯的情況 。
- 優扣幫200家商家使用 常州優扣幫平民怎么拿到優扣
- 小學生英語入門怎么教 小學生英語要如何學
- 是否已經收回成本了 三峽的使用期是多少年
- 怎么選擇適合自己的文胸 怎么購買適合自己的胸罩
- 花盆精煉度怎么獲得 玫瑰小鎮里花盆的精煉怎么獲得
- 水養富貴竹發黃需要將黃掉的葉子剪除,可以在容器中放幾個鐵釘, 水養富貴竹發黃怎么辦
- psp充電器壞了怎么辦 PSP不能充電
- 這是部以悲劇結局的故事,男主角為了保家衛國而死 亦箏笙結局到底怎么樣了
- 希利蘇斯聯盟可以從黑海岸的米奈希爾港坐船到塞拉摩,之后穿過塵 魔獸世界希利蘇斯怎么去
- 超聲吸脂手術是利用高能低頻超聲波的物理化學效應 超聲吸脂怎么瘦手臂
