void in()
{
int i, roomnum;
FILE * fpcustomer;
fpcustomer = fopen("customer.txt", "wb+");
FILE * fproom;
fproom = fopen("room.txt", "rb+");
for (i = 0; i < 6; i++)
{
fread(&roominf[i], sizeof(struct room), 1, fproom);//将文件中的信息读入。
}
printf("以下为现有的房间信息:\n");
for (i = 0; i < 6; i++)//输出先有房间入住情况。
{
printf("房间号:%d 价格:%d 入住情况(0为无人,1为有人):%d\n", roominf[i].roomnum, roominf[i].price, roominf[i].people);
}
printf("请选择您想入住的房间:");
scanf("%d", &roomnum);
roominf[roomnum - 100].people = 1;
//输入入住房客信息。
for (i = 0;; i++)
{
if (customerinf[i].name[0] == '\0')
break;
}
printf("请输入身份证号:");
scanf("%d", &customerinf[i].num);
printf("请输入姓名:");
scanf("%s", &customerinf[i].name);
printf("请输入性别:");
scanf("%s", &customerinf[i].sex);
printf("请输入联系方式:");
scanf("%d", &customerinf[i].phone);
customerinf[i].room = roomnum;
for (i = 0; i < 6; i++)
{
fwrite(&roominf[i], sizeof(struct room), 1, fproom);
}
fclose(fproom);
for (i = 0; i < 6; i++)
{
fwrite(&customerinf[i], sizeof(struct room), 1, fpcustomer);
}
fclose(fpcustomer);
printf("入住成功!\n");
}
代码本身貌似没错误,但运行完之后txt里什么都没有,并没有写入我需要的东西。
另:如何让txt里保存上次运行所输入的信息,还是他默认不会删除
求大神解释有关c语言里代码的读写
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答
- qq_33428491 2017-05-20 13:07关注
这段代码本身是没有什么问题的,但是你说运行完后,txt文件里什么都没有。有可能是你的文件路径出现错误之类的原因。建议使用文件流操作时都善用库函数返回值。txt文件是不会删除输入的信息的。
解决 无用评论 打赏 举报