fread(buf,size,nmemb,fp):  从fp中将nmemb个size字节的内容读入到buf缓冲区中。如果没遇到文件结尾,其返回值应等于nmemb,否则返回实际读取的大小。

fwrite(buf,size,nmemb,fp);  将buf缓冲区中读取的nmemb个size字节的内容写入fp中。返回成功写入的项目数,正常情况下应等于nmemb,若写入发生错误,其返回值小于nmemb.

自定义缓存大小:

 1 void copyFile(char* src, char* dst)
 2 {
 3     enum{SIZE = 4096};
 4     FILE *in, *out;
 5     char buf[SIZE];
 6     long inCount = 0;
 7     if ((in = fopen(src, "rb")) == NULL) {
 8         printf("fail to open source file %s\n", src);
 9         exit(EXIT_FAILURE);
10     }
11     if ((out = fopen(dst, "wb")) == NULL) {
12         printf("fail to open destination file %s\n", dst);
13         exit(EXIT_FAILURE);
14     }
15     while ((inCount = fread(buf, sizeof(char), SIZE, in)) > 0)
16     {
17         fwrite(buf, sizeof(char), inCount, out);
18     }
19     fclose(in);
20     fclose(out);
21 }
fileCopy

相关文章: