我一直在尝试用C从内存中编写一个文件,更具体地说,是一个可执行文件。每次我尝试使用fputs
时,它都会在内存中检测到一个'00'并停止写入。但是它仍然需要写入文件的其余部分。在我试图写的文件中,到处都是'00'用于填充。下面有一些代码供参考:
char *buffer;
buffer = malloc(size);
// ...
FILE *file;
file = fopen("somename","w");
fputs(buffer,file);
fclose(file);
有没有办法,我将能够有'00'的内存没有fputs
把它作为一个EOF?
谢谢!
应该用'fwrite'代替fpus