通过FILE流读取和写入原始内存

时间:2016-11-29 14:46:05

标签: c

我通过FILE流写入c raw buffer 我打开文件如下:

 char fileBuf[1024];
 FILE *fp = fopen("nul", "wb");
 setbuf(fp, fileBuf);
 fprintf(fp, "my str");

然后当我写入文件时,我写入我的缓冲区fileBuf

但我需要一些方法通过FILE流从fileBuf读取 有些像下面的那样?

 char local[100];
 FILE *f = fopen("nul", "rb");
 setbuf(f, fileBuf);
 fgets(local,sizeof(local),f);

(我在Windows上工作,不存在memfile)

1 个答案:

答案 0 :(得分:1)

您使用名为local的变量(顺便说一下,因为它是保留关键字),但将缓冲区设置为fileBuf

FILE *f = fopen("nul", "rb");
setbuf(f, fileBuf);
fgets(fileBuf, sizeof(fileBuf), f);