我通过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)
答案 0 :(得分:1)
您使用名为local
的变量(顺便说一下,因为它是保留关键字),但将缓冲区设置为fileBuf
:
FILE *f = fopen("nul", "rb");
setbuf(f, fileBuf);
fgets(fileBuf, sizeof(fileBuf), f);