结构体和二进制文件操作

2023-05-16

/

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

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

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

//这里我定义了 一个结构体,还进行了二进制文件读写和存储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);
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

结构体和二进制文件操作 的相关文章

  • CentOS7部署nextcloud最新版本

    Nextcloud 是一个免费专业的私有云存储网盘 开源 项目 xff0c Nextcloud开发人员来自owncloud Nextcloud 跨平台支持 Windows Mac Android iOS Linux 等平台 xff0c 提供
  • SQL表间操作

    MySQL表间操作 近期需要对数据进行整理 xff0c 涉及多个安全产品的数据库 xff0c 基本都是MySQL的 xff0c 经常需要进行表的合并 整理操作 MySQL常见的求交集 并集和差集 1 select a b from tabl
  • ipref网络性能评估工具

    ipref网络性能评估工具 基本介绍 网络的主要性能参数包括带宽 xff0c 时延 xff0c 抖动和丢包率 xff0c 用一个名词就是QOS xff08 服务质量 xff09 Iperf xff08 可测丢包率 xff09 可以用来测量网
  • 抓取特定DNS查询包:tcpdump vs wireshark

    近期 xff0c 在办公网络中出现网络不稳定问题 xff0c 经过分析发现是网内大量的终端安装的安全软件 xff0c 每秒钟都定期进行地址探测 xff0c 其中需要探测taobao com之类的域名地址 xff0c 造成大量的DNS查询 x
  • ceph——数据修复/均衡速度测试

    以副本环境的数据均衡为例 xff0c 以下需要注意 xff1a 1 写入数据时 xff0c 用脚本监控写入数据量 xff08 ceph df xff09 到达预定值 xff0c 开始 停止cosbench cosbench支持命令行 进入c
  • iOS 卡顿、掉帧原因+优化

    卡顿 掉帧原因 VSync垂直信号 xff0c 一般说页面流畅是60fps xff0c 也就是每一秒钟会有60帧画面更新 xff0c 相当于16 7ms就要产生一帧画面 xff0c 那么在这16 7ms之内需要由CPU和GPU共同协同完成产
  • archlinux 安装virtualbox

    一 安装前准备 首先安装 linux headers sudo pacman S linux headers 其次确认linux内核的版本 uname r 如果和header的版本不一致 xff0c 需要更新内核 否则的话会在安装virtu
  • debian 切换默认桌面命令

    update alternatives config x session manager 选择gnome session
  • 解决windows系统80端口被占用问题_

    测试这个命令会把打印机共享等依赖http服务的程序停止 xff0c 导致共享无法使用 xff0c 所以还得寻找别的办法 xff0c 后来终于搜索到一条命令 netsh http show servicestate 1 这条命令可以查看到底是
  • Linux项目自动化构建工具---make/Makefile

    make Makefile 1 背景1 1 如何编写Makefile1 1 1 依赖关系1 1 2 依赖方法1 1 3 项目清理 2 Linux第一个小程序 进度条2 1 回车和换行概念2 2 行缓冲区概念2 3 完整的进度条代码和解析 1
  • IntelliJ Rider2020+Unity+EmmyLua调试的两种方式

    Rider2018 3 1版本中是可以直接附加Unity xff0c 很不错 xff0c 就是调试有几率崩溃 一直想升级到最新版来解决调试不稳定的问题 但将Rider2018 3 1更新到Rider2020 2 1后 xff0c EmmyL
  • Edge浏览器黑色背景设置

    1 打开Edge浏览器 xff0c 点击右上角的三个点 xff0c 选择 扩展 选项 xff0c 如下图 xff1a 2 搜索Dark Reader xff0c 点击 获取 3 点击开启 4 Edge浏览器 设置 外观 主体中选择雨夜模式
  • time(0) 是什么意思?

    time 0 返回的是系统的时间 xff08 从1970 1 1午夜算起 xff09 xff0c 单位 xff1a 秒 time 参数一般为0或者Null相当于 取系统时间 include lt iostream gt include lt
  • 函数指针、表驱动用法

    函数指针 xff08 1 xff09 函数指针含义 函数 在C语言中 xff0c 函数作为功能完成的基本单位 xff0c 它的定义如下 xff1a FunctionType FuncName ArgumentList FunctionBod
  • C++的Char traits模板类

    Char traits 头文件 Char traits h Generic char traits class Note that this class is provided only as a base for explicit spe
  • C++ 文件操作

    需要了解的概念 数据流 缓冲区 Buffer 文件类型 文件存取方式 借助文件指针读写文件 需要理解的知识点包括 xff1a 数据流 缓冲区 文件类型 文件存取方式 1 1 数据流 xff1a 指程序与数据的交互是以流的形式进行的 进行C语
  • 【Web篇】(6.3) ❀ 15. Kali 下载与安装 ❀ FortiWeb 攻防演练

    简介 Kali 是一个基于 Debian 的 Linux 发行版 它的目标就是为了简单 xff1a 在一个实用的工具包里尽可能多的包含渗透和审计工具 Kali 实现了这个目标 大多数做安全测试的开源工具都被囊括在内 Kali 介绍 Kali
  • 修改树莓派系统的更新源,软件安装源和pip安装源

    本文目录 1 更换系统更新源2 更改软件源3 更换 pip 源4 更新系统与软件5 附加知识 Linux系统常用的安装源主要有系统更新源和软件安装源二大类 xff0c 系统更新源是用于对Linux系统本身进行升级更新的 xff0c 软件安装
  • ubuntu虚拟机网络配置同时连接WIFI上外网和连接以太网与ARM开发板通信

    在学习ARM嵌入式开发过程中 xff0c 需要在ubuntu虚拟机下进行程序开发和编译 xff0c 一般需要使用网线直连ARM开发板 xff0c 或挂载NFS网络文件系统 xff0c 或 通过SSH TFTP等网络协议传输在PC端编译完的二
  • error: unable to read askpass response from 解决办法

    出现这个报错 xff0c 我认为原因与你的码云账号有关 xff0c 因为我在网上大量搜过这个问题 xff0c 最后 检查了一番原来是gitee账号登录过期 xff0c 于是重新进行登录 xff0c 可是登录成功还是提示错误 xff0c 最后

随机推荐