fwrite实现文件复制
![]()
1 //@ author 成鹏致远
2 //@ net http://infodown.tap.cn
3 //@ qq 552158509
4 //@ blog lcw.cnblogs.com
5
6 #include <stdio.h>
7 #include <stdlib.h>
8 #include <string.h>
9
10 #define BUFSIZE 100
11
12 int main(int argc, char * argv[])
13 {
14 FILE *read_fp,*write_fp;
15 char buf[BUFSIZE];
16
17 if(3 != argc)
18 {
19 printf("Usage:%s <origin_filename> <target_filename> \n",argv[0]);
20 exit(1);
21 }
22 if(NULL == (read_fp = fopen(argv[1],"r")))
23 {
24 perror("malloc");
25 exit(1);
26 }
27 if(NULL == (write_fp = fopen(argv[2],"w")))
28 {
29 perror("malloc");
30 exit(1);
31 }
32
33 while(!feof(read_fp) && !ferror(read_fp))
34 {
35 bzero(buf,BUFSIZE);//在使用前一定要先清缓冲
36 fread(buf,BUFSIZE,1,read_fp);//读取文件
37 fwrite(buf,strlen(buf),1,write_fp);//写文件,注意要用strlen,因为最后一次可以装不满缓冲区
38 }
39
40 fclose(read_fp);
41 fclose(write_fp);
42
43
44 return 0;
45 }
View Code