C语言实现二进制文件读写
来源:互联网 发布:淘宝达人自媒体 编辑:程序博客网 时间:2024/05/02 05:07
#include <stdio.h>
#include <stdlib.h>
#define MAXLEN 1024
int 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;
后面是关于fopen,fread,fwrite三个函数的详细说明。
mode有下列几种形态字符串:
r 打开只读文件,该文件必须存在。
r+ 打开可读写的文件,该文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask值。
main()
{
FILE * fp;
fp=fopen("noexist","a+");
if(fp= =NULL) return;
fclose(fp);
}
#define nmemb 3
struct test
{
char name[20];
int size;
}s[nmemb];
main()
{
FILE * stream;
int i;
stream = fopen("/tmp/fwrite","r");
fread(s,sizeof(struct test),nmemb,stream);
fclose(stream);
for(i=0;i<nmemb;i++)
printf("name[%d]=%-20s:size[%d]=%d/n",i,s[i].name,i,s[i].size);
}
name[1]=FreeBSD! size[1]=8
name[2]=Windows2000 size[2]=11
#define set_s (x,y) {strcoy(s[x].name,y);s[x].size=strlen(y);}
#define nmemb 3
struct test
{
char name[20];
int size;
}s[nmemb];
main()
{
FILE * stream;
set_s(0,"Linux!");
set_s(1,"FreeBSD!");
set_s(2,"Windows2000.");
stream=fopen("/tmp/fwrite","w");
fwrite(s,sizeof(struct test),nmemb,stream);
fclose(stream);
}
原文地址 http://blog.csdn.net/AresGod/archive/2007/10/28/1852321.aspx
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写(转载)
- C语言二进制文件读写
- C语言读写二进制文件
- C语言中二进制文件读写
- C语言二进制文件读写程序实现(基础)
- C语言二进制文件读写程序实现(基础)
- oracle 回滚段管理
- 表空间修改常用SQL代码示例
- 20个开源项目托管站点推荐
- poj 2031 Building a Space Station
- 竞聘项目长
- C语言实现二进制文件读写
- Linux Find 命令精通指南 --未完待续
- poj 2253 Frogger
- 一个很搞笑的测试
- 连接ftp站点下载加密样本
- 上传执行脚本
- SQL的内连接与外连接
- --vi 查找命令的使用
- UILabel上显示笑脸符号