如何把内存中的缓冲区读给FILE* ?

来源:百度知道 编辑:UC知道 时间:2024/05/26 01:58:15
以前使用FILE*都是:
FILE * pfile;
pfile = fopen("...","...");
这个是从磁盘文件读取数据。

问题是如何从内存中读呢,比如把const char *类型的数据读给FILE*
====================================================
回复reclusejs:这么说还是要创建磁盘上的文件了。不知道有没有其他办法了。

首先FILE就是跟硬盘挂钩的,如果你要一个只在内存里存在的FILE,没有必要,因为内存里用其他格式就可以了。如果非要用FILE这个接口,那还是创建一个吧。

FILE *pfile;

pfile = fopen("...","wb"); //建一个新文件

const char str[] = "a string";

fwrite(str,sizeof(char),strlen(str)+1,pfile);//写进文件

// ...

fclose(pfile);

注意fopen(File *ptrFile,char *type)的参数:
第一个表示文件指针;
第二参数type表示文件的读取方式,w就是表示重内存中读取【,写入文件】;r表示,从文件中读取【写入内存】;

强制转换?