在C语言中,怎么建立二进制文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C语言中,怎么建立二进制文件?相关的知识,希望对你有一定的参考价值。
在学生文件stu_list中读出第二个学生的数据。
#include<stdio.h>
struct stu
char name[10];
int num;
int age;
char addr[15];
boy,*qq;
main()
FILE *fp;
char ch;
int i=1;
qq=&boy;
if((fp=fopen("二进制文件","rb"))==NULL)
printf("Cannot open file strike any key exit!");
getch();
exit(1);
rewind(fp);
fseek(fp,i*sizeof(struct stu),0);
fread(qq,sizeof(struct stu),1,fp);
printf("\n\nname\tnumber age addr\n");
printf("%s\t%5d %7d %s\n",qq->name,qq->num,qq->age,
qq->addr);
要是个C,或者文本文件的话,结果差了好多,就是因为不能建立二进制文件,所以结果就是不对
在C语言中,怎么建立二进制文件?
struct stu
char name[10];
int num;
int age;
char addr[15];
boy,*qq;
void main()
FILE *fp;
char ch;
int i=1;
qq=&boy;
stu SStu;
strcpy(SStu.addr, ("Beijing\0"));
SStu.age = 20;
strcpy(SStu.name, "Wang Wu\0");
SStu.num = 9;
if((fp=fopen("二进制文件","w"))==NULL)
printf("Cannot open file strike any key exit!");
getch();
return;
// rewind(fp);
// fseek(fp,i*sizeof(struct stu),0);
i=fwrite(&SStu, sizeof(stu), 1, fp);
fclose(fp);
if((fp=fopen("二进制文件","r"))==NULL)return;
fread(qq,sizeof(stu),1,fp);
printf("\n\nname\tnumber age addr\n");
printf("%s\t%3d %6d %s\n",qq->name, qq->num,qq->age, qq->addr);
fclose(fp);
运行成功,看看改动有多少。本回答被提问者采纳 参考技术B 你的文件名似乎忘了写后缀,而且写入二进制流的参数不是rb 是wb
以上是关于在C语言中,怎么建立二进制文件?的主要内容,如果未能解决你的问题,请参考以下文章