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文件是不会删除输入的信息的。

    评论

报告相同问题?

悬赏问题

  • ¥15 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊