|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
求助大佬,为什么这段代码里book_w->date.day=26赋值26会有问题,别的值不会。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct Date
{
int year;
int month;
int day;
};
struct Book
{
char title[20];
float price;
struct Date date;
};
int main(void)
{
struct Book *book_w,*book_r;
FILE *fp;
//分配内存
book_w=(struct Book *)malloc(sizeof(struct Book));
book_r=(struct Book *)malloc(sizeof(struct Book));
if ( book_r==NULL||book_w==NULL)
{
printf("error");
exit(1);
}
//结构体赋值
strcpy(book_w->title,"xiyouji");
book_w->price=29.9;
book_w->date.year=1999,book_w->date.month=9,book_w->date.day=26;
//
if ( ( fp=fopen("F:/9.9.txt","w") ) ==NULL )
{ printf("error");
exit(1);
}
//写入
fwrite(book_w,sizeof(struct Book),1,fp);
fclose(fp);
//
if ( ( fp=fopen("F:/9.9.txt","r") ) ==NULL )
{ printf("error");
exit(1);
}
fread(book_r,sizeof(struct Book),1,fp);
//
printf("title: %s\n",book_r->title);
printf("price: %.2f\n",book_r->price);
printf("date: %d-%d-%d\n",book_r->date.year,book_r->date.month,book_r->date.day);
//
fclose(fp);
free(book_r);
free(book_w);
return 0;
} |
|