在C语言中,怎么建立二进制文件?

2025-03-12 17:29:14
推荐回答(2个)
回答1:

#include

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);
}

运行成功,看看改动有多少。

回答2:

你的文件名似乎忘了写后缀,而且写入二进制流的参数不是rb 是wb