[問題] 如何用fopen()讀取記憶體裡的資料
最簡單的方法是將記憶體的資料拿出來建立一個真的檔案
再讓fopen()之類的IO函式去讀取
但是面對大量資料時就還是多浪費了時間
還要檢查暫時生出來的檔案名稱是不是跟既存的檔案名重疊
有沒有比較好的做法來處理這種問題?
舉個例子說明我為何有這需求
例如我解開壓縮檔之後解開的檔案當然是在記憶體上面,如果是讀壓縮檔裡的bmp檔倒
是沒甚麼困擾,因為本來就是直接對記憶體動手,讀檔頭、挖自己需要的部分。
但是png檔則需要透過官方的API來讀,而它的介面只允許我輸入檔案名稱,不能傳入
該檔的記憶體位址,所以我想知道有沒有甚麼好方法,不要多費工去硬碟上建立真的檔案
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.129.76.61
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1453990809.A.245.html
推
01/28 22:23, , 1F
01/28 22:23, 1F
推
01/28 22:25, , 2F
01/28 22:25, 2F
→
01/28 22:39, , 3F
01/28 22:39, 3F
推
01/29 04:51, , 4F
01/29 04:51, 4F
→
01/29 04:53, , 5F
01/29 04:53, 5F
→
01/29 04:54, , 6F
01/29 04:54, 6F
→
01/29 04:54, , 7F
01/29 04:54, 7F
我目前查到的方向也都是從官方給出的介面中尋找直接讀記憶體資料的方法
想把記憶體偽裝成檔案交給fopen()讀取真的是不可行
因為FILE的結構沒有標準規範,各平台各寫自己的一套
※ 編輯: eye5002003 (220.129.76.184), 01/29/2016 21:34:36
推
01/30 09:11, , 8F
01/30 09:11, 8F
推
01/30 10:15, , 9F
01/30 10:15, 9F
推
01/30 13:15, , 10F
01/30 13:15, 10F