C语言实现二进制文件读写
来源:互联网 发布:linux怎么安装声卡 编辑:程序博客网 时间:2024/04/30 11:52
#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);
}
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写(转载)
- C语言二进制文件读写
- C语言读写二进制文件
- C语言中二进制文件读写
- C语言二进制文件读写程序实现(基础)
- C语言二进制文件读写程序实现(基础)
- ARP协议工作原理及详细解码
- c#文件下载问题
- div+css - CSS标准中级联的文档
- 将IP Address Control控件内容写入struct in_addr变量
- 应对新《劳动合同法》 万名华为员工自选去留
- C语言实现二进制文件读写
- 生命不可承受之重
- Smart Pointers 智能指针(一)
- ASP.NET 2.0中客户端脚本总结
- 《沁园春·长沙》
- 也许履历表可以这样填
- 李开复:部分80后创业者不可一世 难成领导者
- 安家了
- VC++新建类不见了。怎么办?