g1162141320 2017-05-20 09:58 采纳率: 0%
浏览 863

求大神解释有关c语言里代码的读写

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里保存上次运行所输入的信息,还是他默认不会删除

  • 写回答

2条回答

  • qq_33428491 2017-05-20 13:07
    关注

    这段代码本身是没有什么问题的,但是你说运行完后,txt文件里什么都没有。有可能是你的文件路径出现错误之类的原因。建议使用文件流操作时都善用库函数返回值。txt文件是不会删除输入的信息的。

    评论

报告相同问题?

悬赏问题

  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗