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

相关文章: