我想解決一個問題,它需要我讀取文件並生成另一個文件,其內容與原始文件相同,但每隔四個字節就會被刪除。我試過這樣做。有問題讀取文件C
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個字節後停止讀取文件。有什麼方法可以閱讀大文件或者我做錯了什麼?
http://stackoverflow.com/questions/3977223/fgetc-does-not-identify-eof - getc和朋友返回** int **,不是char。 – Mat
你有共享軟件編譯器嗎? –