#include <stdio.h>
#include <string.h>
void main()
{
FILE *fp;
FILE *fpw;
char temp[1024];
for(i=0;i<sizeof(temp);i++)
{
temp[i]='\0';
}
fp=fopen("c:/book/1.mp3","rb");
if(fp==NULL)
{
printf("can not open file\n");
}
fpw=fopen("c:/book/2.mp3","w+b");
while(!feof(fp))
{
fread(temp,sizeof(temp),1,fp);
printf("%d\n%s\n",k,temp);
k=strchr(temp,'\0');
if(k==NULL)
{
fwrite(temp,sizeof(temp),1,fpw);
}
else
{
fwrite(temp,int(k-temp),1,fpw);
}
memset(temp,0,sizeof(temp));
}
fclose(fp);
fclose(fpw);
}
函数读到文件的最后老是会加入空格字符,要不然就直接死掉;
有什么办法判断 fread 读到了文件末尾没?