基于文本编辑完成用户管理模块的数据持久化

这是学习了对文本操作之后对之前写的用户管理模块进行补充,使数据可以持久化,即关闭程序之后再次打开可以得到之前输入的数据。

在”manager_user.c“中添加读取,和写入模块,借用文本在每次运行和结束运行的时候来读取和存储用户信息,达到数据持久化的目的。

//存入数据
void wfp(void)
{
    FILE* user=fopen("user.txt","w");
    if(NULL == user)
    {
	     printf("写入数据错误!");
	    return;
    }
    for(int i=0;i<cnt;i++)
    {
         fprintf(user,"%s %s %s %c\n",id[i].name,id[i].password,id[i].phone,id[i].lock);
     }
fclose(user);
}
//读取数据
void rfp(void)
{
    FILE* user=fopen("user.txt","r");
    if(NULL == user)
    {
	    printf("读取数据错误!");
	    return;
     }
     int ret = 0;
     do{
          ret = fscanf(user,"%s %s %s %c\n",id[cnt].name,id[cnt].password,id[cnt].phone,&id[cnt].lock);
     }while(4 == ret && ++cnt);
     fclose(user);
}

在主函数中调用使函数运行时先读取文件中的用户数据到id数组中,并将用户个数赋值给全局变量cnt,完成数据的初始化。退出操作界面之后将数组id中的值写入user.txt中。

int main(int argc,const char* argv[])
{
     rfp();
     for(;;)
     {
          show_ml();
          switch(get_cmd('1','4'))
          {
              case '1': enroll(); break;
              case '2': goup(); break;
              case '3': show_all(); break;
              case '4': wfp();return 0;
          }
      }
}

用户管理模块详情
用户管理模块 多文件编程

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值