fread(&temp,1,1,fp1); //从 fp1读取4个字节,放到temp
fwrite(&temp,1,1,fp2); //把temp写入fp2
我把它改成char型,或者随便给个初值都能完成复制操作,好像这temp又可以不要,能换成个其他的?
答:换成char更好,因为文件长度不一定是4的倍数
temp就相当于一个缓冲区啊,每从fp1里面读一个数据,就放入temp中,然后再从temp放入fp2中.所以不需要初始化.
实际应用中肯定不会一个数一个数地读,肯定是一次读很多数据,然后一次性写入,因为I/O操作耗时比较厉害,要尽量减少I/O次数.
只是一个中间变量 这个地址用来存文件的指针而已,做为一个中间量而已,任意的都可以,只要给定义一下