1.fput/fget按字符读取函数 : 可以读取文本文件和二进制文件,但是读单个字符效率比较低。
2.fgets/fputs按行读取函数:只能处理文本文件,不能二进制文件,因为二进制包含0,0是终止符所以不能读。
3.fread/fwrite按对象结构体读取:都可以读/所以推荐这种用法。
#include<stdio.h>
#define N 64
int main(int argc,char * argv[])
{
FILE *fps,*fpd;
char buf[N];
int n;
if(argc < 3)
{
printf("usage:%s<src_file><dst_file>\n",argv[0]);
return -1;
}
if((fps = fopen(argv[1],"r"))==NULL)
{
perror("fopen src file");
return -1;
}
if((fps = fopen(argv[2],"w"))==NULL)
{
perror("fopen src file");
return -1;
}
while((n == fread(buf,1,N,fps))>0)
{
fwrite(buf,1,n,fpd);
}
fclose(fps);
fclose(fpd);
return 0;
}