[问题] 如何用fopen()读取内存里的资料

楼主: eye5002003 (下一夜)   2016-01-28 22:20:06
最简单的方法是将内存的资料拿出来建立一个真的档案
再让fopen()之类的IO函式去读取
但是面对大量资料时就还是多浪费了时间
还要检查暂时生出来的档案名称是不是跟既存的档案名重叠
有没有比较好的做法来处理这种问题?
举个例子说明我为何有这需求
例如我解开压缩档之后解开的档案当然是在内存上面,如果是读压缩档里的bmp档倒
是没什么困扰,因为本来就是直接对内存动手,读档头、挖自己需要的部分。
但是png档则需要透过官方的API来读,而它的接口只允许我输入档案名称,不能传入
该档的内存位址,所以我想知道有没有什么好方法,不要多费工去硬盘上建立真的档案
作者: Clangpp (Clang++)   2016-01-28 22:23:00
不考虑用IPC吗??
作者: stupid0319 (征女友)   2016-01-28 22:25:00
内存?直接指标存取不就好了
楼主: eye5002003 (下一夜)   2016-01-28 22:39:00
IPC能让内存资料被当成档案读取?我再查查看,thanks
作者: LPH66 (-6.2598534e+18f)   2016-01-29 04:51:00
透过官方 API? 你是用什么方法读取 png?如果是直接用 libpng 那从内存读资料非常简单如果是一些其他的 framework 我相信一定有方法指定从内存读取资料出来...
作者: badwork (我是大笨蛋)   2016-01-30 09:11:00
作者: soso7885 (YOHO)   2016-01-30 10:15:00
直接sharemem
作者: johnjohnlin (嗯?)   2016-01-30 13:15:00
原来有fmemopen这种东西

Links booklink

Contact Us: admin [ a t ] ucptt.com