我的以下 C 代码有问题:
int main(void){
FILE* infile = fopen("file","r);
FILE* fp = NULL;
unsigned char* buffer = malloc(512);
while( fread(buffer,512,1,infile) > 0 ){ //reading a file block by block
if(buffer[0] == 0xff){
... //defining variable "name"
if(fp != NULL)fclose(fp);
fp = fopen(name,"w+");
fwrite(buffer,512,1,fp);
} else if(fp != NULL) {
fwrite(buffer,512,1,fp);
}
}
}
似乎我无法在 fclose 之后使用相同的指针打开 fopen,为什么?我需要我的指针在主要的任何地方都可以访问,所以我不能在我的时间里声明一个新的。
编辑:天哪,问题解决了。我可能是超级累了。我正在编译错误的文件。反正...
谢谢各位!