FILE*tar_fp = fmemopen(out,strlen(out),"rb");如何使用fwrite和tmpfile改写
时间: 2024-03-03 16:54:00 浏览: 90
你可以使用tmpfile函数创建一个临时文件,然后使用fwrite函数向该文件中写入数据。具体实现如下:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MEM_BUFFER_SIZE 1024
int main()
{
char* out = "hello, world!";
size_t len = strlen(out);
// 将数据写入临时文件
FILE* memFile = tmpfile();
fwrite(out, 1, len, memFile);
// 将文件指针重新定位到文件开始位置
fseek(memFile, 0, SEEK_SET);
// 使用memFile指针操作内存缓冲区
char readBuffer[MEM_BUFFER_SIZE];
while (fgets(readBuffer, MEM_BUFFER_SIZE, memFile))
{
printf("%s", readBuffer);
}
// 关闭memFile指针
fclose(memFile);
return 0;
}
```
以上代码中,我们使用了tmpfile函数创建了一个临时文件,然后使用fwrite函数向该文件中写入数据。接着,使用fseek函数将文件指针重新定位到文件开始位置,然后使用fgets函数从文件中读取数据到内存缓冲区中。注意,在使用完毕后,我们需要关闭文件指针。
阅读全文