qq_57654986 2021-06-23 20:29 采纳率: 0%
浏览 95

用easyx库图形界面编写的程序将数据写入文件为什么写不进去?

项目是做一个酒店餐厅点菜系统。商家先将菜单录入系统(我用的inputbox函数获取输入的信息)

,点击我自己画的保存按钮程序可以将链表中的内容写入到文件中,但是这个写入的时候会出问题,找了两天都没找出来到底哪里有问题,请大佬指教。

结构体链表:

typedef struct Food_LIST
{
	int ser;
	char name[20];
	char price_f[20];
	struct Food_LIST* fnext;
}Food_LIST;//结点

//食品链表的控制部分
typedef struct list_of_food
{
	Food_LIST* head_fl;
	Food_LIST* nail_fl;
	int count_f;
	
}lfood;

程序刚开始执行会先开辟一块控制链表的lfood空间,初始化函数:

int  Initlist_F(lfood** plf)
{
	*(plf) = (lfood*)malloc(sizeof(lfood));//首先开辟一块堆区空间(链表控制区的空间)
	if (*plf == NULL)
		return 0;                                //开辟空间失败,返回0
	else
	{
		(*plf)->head_fl = NULL;
		(*plf)->nail_fl = NULL;
		(*plf)->count_f = 0;
	}
	return 1;
}

进入菜单编辑界面的函数:

void edit_foodlist(lfood*pf)
{
	Food_LIST* fptemp;
	MOUSEMSG m1;
	fptemp = creat_F_node();
	
	inser_F(pf, fptemp);

	while (1)
	{
		m1 = GetMouseMsg();
		if ((m1.uMsg == WM_LBUTTONDOWN) && (m1.x >= 80 && m1.x <= 307) && (m1.y >= 43 && m1.y <= 207))//添加菜
		{
			
			InputBox(pf->nail_fl->name, 20, "请输入菜的名字");
			
	        InputBox(pf->nail_fl->price_f, 20, "请输入菜的价格");
			
			fptemp = creat_F_node();
	        inser_F(pf, fptemp);
			continue;
		}
		
		if (m1.uMsg == WM_LBUTTONDOWN && (m1.x >= 80 && m1.x <= 307) && (m1.y >= 452 && m1.y <= 677))//保存菜单
		{
			travellist_F(pf,save_F);
		}

	}
}

下面就是那个遍历链表,对其中每个节点进行操作的函数

int  Initlist_F(lfood** plf)
{
	*(plf) = (lfood*)malloc(sizeof(lfood));//首先开辟一块堆区空间(链表控制区的空间)
	if (*plf == NULL)
		return 0;                                //开辟空间失败,返回0
	else
	{
		(*plf)->head_fl = NULL;
		(*plf)->nail_fl = NULL;
		(*plf)->count_f = 0;
	}
	return 1;
}

保存进入文件的函数:

void save_F(Food_LIST* pf)
{
	 FILE* ptemp2 = fopen("食品菜单二进制.txt", "wb");
	 FILE* temp = fopen("食品菜单.txt", "w");
	 fwrite(pf, sizeof(Food_LIST), 1, ptemp2);
	 fputs(pf->name, temp);
	 fputs(pf->price_f, temp);

	 /*fwrite(pf, sizeof(Food_LIST), 1, ptemp2);
     fwrite(pf, sizeof(Food_LIST), 1,temp);*/
	 fclose(temp);
	 temp = NULL;
}

说一下为什么要写到两个不同的文件里,   因为一个要以文本形式写入,这个文件到时候会直接打开让客户看里面的内容,而那个二进制文件到时候会读取到程序里面。

用inputbox输入完函数之后,点击保存就会有这样的错误

真的找不到问题出在哪了,救救孩子吧555555

  • 写回答

2条回答 默认 最新

  • 有问必答小助手 2021-06-28 19:11
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答

    本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。

    ​​​​因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题