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);
    }

  • 相关阅读:
    J
    I
    uva122 二叉树的实现和层次遍历(bfs)
    A
    HDU 波峰
    2239: 童年的圣诞树
    1734: 堆(DFS)
    1731: 矩阵(前缀和)
    1733: 旋转图像(模拟)
    1728: 社交网络(概率问题 组合数/排列数)
  • 原文地址:https://www.cnblogs.com/mfryf/p/3796415.html
Copyright © 2011-2022 走看看