zoukankan      html  css  js  c++  java
  • 二进制文件中读写结构体

    /////////////////////////////////////////////////////////////

    //老师给我们分布里一个作业,让我们定义一个怪物的结构体,

    //输入你想创建的数字就可以创建出相应个数的怪物。

    //然后再输入每个怪物的信息并保存到一个文本文件里面,以供以后读取。

    //这里我定义了一个结构体,还进行了二进制文件读写和存储fread,fwrite

    //这里只是一个createMonster()函数,在main函数里面调用即可。

    struct Monster
    {
     int ID;
     char name[10];
     char species[10];
     char tpye[10];
    };

    void createMonster(int n)
    {
      Monster *monster;
      Monster *ms;
      for (int i = 0;i<n;i++) 
      {
       monster = new Monster[n];
       ms = new Monster[n];
      }
      cout<<"创建怪物成功!"<<endl;

      cout<<"设置怪物的数据:"<<endl;
      cout<<endl;
      for (int i = 0;i<n;i++)
      {
       cout<<"第"<<i<<"个怪物信息:"<<endl;
       cout<<"ID  "<<"名字   "<<"种族:   "<<"战斗类型"<<endl;
       cin>>monster[i].ID>>monster[i].name>>monster[i].species>>monster[i].tpye;
      }
      cout<<"输入完毕!准备保存怪物信息........"<<endl;
      Sleep(10);

      FILE* pf;
      if ((pf = fopen("Monster.txt","wb+"))==NULL)
      {
       cout<<"不能打开文件!"<<endl;
      }

      fwrite(monster,sizeof(Monster),n,pf);
      rewind(pf);

      fread(ms,sizeof(Monster),n,pf);

      for (int i = 0;i<n;i++)
      {
       cout<<ms[i].ID<<endl;
       cout<<ms[i].name<<endl;
       cout<<ms[i].species<<endl;
       cout<<ms[i].tpye<<endl;
      }

      fclose(pf);
    }

  • 相关阅读:
    pytest实现参数化(@pytest.mark.parametrize)
    pytest标记测试用例为预期失败(@pytest.mark.xfail)
    pytest标记跳过某些测试用例不执行
    pytest的conftest.py配置
    pytest之fixture使用
    模拟赛42 题解
    模拟赛41 题解
    一些可能永远用不到的性质
    补锅
    骗分杂谈
  • 原文地址:https://www.cnblogs.com/mfryf/p/3796415.html
Copyright © 2011-2022 走看看