我正在尝试解决一个问题,该问题需要我读取一个文件并生成另一个文件,该文件与原始文件具有相同的内容,但每四个字节被删除。我尝试这样做......
int main()
{
FILE *p;
FILE *q;
int i=0,k=0;
char c;
p = fopen("C:\\Users\\Teja\\Desktop\\Beethoven.raw","rw");
q = fopen("C:\\Users\\Teja\\Desktop\\Beethoven_new.raw","w+");
printf("%x is the EOF character \n",EOF);
while((c=fgetc(p))!=EOF)
{
if(i==3){
i=0;
printf("Removing %x %d \n",c,k++);
}
else{
printf("Putting %x %d \n",c,k++);
fputc(c,q);
i++;
}
}
fclose(p);
fclose(q);
return 0;
}
我试图读取的文件是一个 .raw 文件,大小约为 10-15 MB。我注意到上面的代码通常在 88 个字节后停止读取文件。有什么方法可以读取大文件还是我做错了什么?