C语言实现二进制文件读写详解2013-11-16先介绍函数,我们一共要用到三个函数,fopen,fread,fwrite。二进制读写的顺序是用fopen以二进制方式打开读写文件,然后使用fread和fwrite两个函数将数据写入二进制文件中。下面我们看看一个拷贝程序的源码:Copy.c:
#include <stdio.h>#include <stdlib.h>#define MAXLEN 1024int main(int argc, char *argv[]){if( argc < 3 ){printf("usage: %s %s/n", argv[0], "infile outfile");exit(1);}FILE * outfile, *infile;outfile = fopen(argv[2], "wb" );infile = fopen(argv[1], "rb");unsigned char buf[MAXLEN];if( outfile == NULL || infile == NULL ){printf("%s, %s",argv[1],"not exit/n");exit(1);}int rc;while( (rc = fread(buf,sizeof(unsigned char), MAXLEN,infile)) != 0 ){fwrite( buf, sizeof( unsigned char ), rc, outfile );}fclose(infile);fclose(outfile);system("PAUSE");return 0;}
现在来讲讲这个程序,这个程序的作用就是将文件1的内容直接拷贝到文件2中,注意fread的返回值,这个值需要在fwrite的时候将会用到。后面是关于fopen,fread,fwrite三个函数的详细说明。fopen(打开文件)