69,371
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
//#include "head.h"
typedef struct STU
{
char name[10];
int num;
int age;
char addr[15];
};
int main()
{
char fname[100]="D:\\C++\\PROJECT\\restart_c\\test.log";
FILE *pfile=fopen(fname,"wt");
char ch;
int i;
struct STU boya[2],boyb[2],*pp,*qq;
pp=boya;
qq=boyb;
printf("\ninput data\n");
for(i=0;i<2;i++,pp++)
{
scanf("%s%d%d%s",pp->name,&pp->num,&pp->age,pp->addr);
}
pp=boya;
fwrite(pp,sizeof(struct STU),2,pfile);
rewind(pfile);
fread(qq,sizeof(struct STU),2,pfile);
printf("\n\nname\tnumber\tage\taddr\n");
for(i=0;i<2;i++,qq++)
{
printf("%s\t%5d%7d%s\n",qq->name,qq->num,qq->age,qq->addr);
}
//writelocaltime(pfile);
fclose(pfile);
getchar();
return 0;
}
fwrite(pp,sizeof(struct STU),2,pfile);
是向文件中写 35个字节,结构体中的name占用的值为zhang占用了6个字节(加上'\0'占用的一个字节),但在写的时候也是要写10个字节。后面4个字节是垃圾数据