C++ 关于存档与读档
c++可以用来制作游戏。可是,如果制作的游戏不能存档,那就特别让人心疼了。这种的游戏通常都是辛辛苦苦玩了半天,好不容易打出的记录,程序重启后,一夜回到解放前。
看着宝贵的血汗数据就这样变为0,小凤我决定,一定要找到一个存读档的方法给大家!
使用freopen
打开文件
freopen是使用重定向的方法读取文件,需要<cstdio>库。听不懂不要紧,反正是个方法就对了。
先来看看打开文件的格式:
freopen(const char *Filename,const char *Mode,FILE *File);
Filename就是你要打开的文件名,用""括起来。
Mode就是模式,有"r"(read读档)和"w"(write存档) 两种。
最后一个是控制流的地方,这个freopen其实也跟流什么的沾沾边,先不深究。这个位置要跟Mode联系起来,Mode是"r"就写stdin,是"w"就写stdout,不能搞错。还有一种叫stdderr,不常用。
最终写下来是个这么个玩意儿:
freopen("C:\\Windows\\system32\\shell32.dll","r",stdin);
freopen("C:\\Windows\\system32\\shell32.dll","w",stdout);
顺带一提:“\\”是个转义字符,本来是“\”的意思。
打开了文件,接下来怎么进行读写的操作呢?
读写操作
打开文件之后,可以使用平常使用的cout,printf写入,cin,scanf读出了。
假如文件里有这样几个数:
1314
520
233
打开了文件,用3次cin
for(int i=0;i<3;++i){cin>>x[i];
}
3次cin的结果将会是1314,520与233。
cout什么东西都会跑到文件里头。
但有个问题,打开文件后面所有输入输出都只对文件起作用了,怎么恢复?
fclose关闭文件就很重要了。
关闭文件
可以用fclose()函数来关闭文件的通道。
打开的文件模式是stdin,括号里就写stdin,stdout就写stdout。
于是就成了这样:
fclose(stdin);fclose(stdout);
总的来说,可以把freopen看做是一个黑洞
往里开,它把你的输出内容吸进了文件里
往外开,它把文件里的东西吸出来当输入内容给你
我讲完啦!
——by The_phonx 小凤
C++ 关于存档与读档相关推荐
- Unity游戏存档与读档
目前unity常见存档和读档有几种方式,也就是常见的存储数据的方式(注意存档和读档都是针对单机游戏而言的,角色信息,道具信息,关卡情况等) Unity存档的方式大概分为这两大类 图片来源自siki学院 ...
- Unity中采用JSON进行存档和读档
在利用JSON做存档和读档之前,首先要在Assets导入一个脚本!这个脚本就是LitJson.dll 然后在Unity中首先创建一个Save脚本,用于保存游戏中相关的信息,在这里我存储的是游戏中怪物的 ...
- Unity_二进制,Jason,XML存档读档
创建一个类Save 用来保存游戏的信息,以便于存档 Save.cs的代码 using System.Collections; using System.Collections.Generic; usi ...
- SaveLoad--Unity存档读档的学习总结
存档与读档功能 举例: 传统RPG游戏(仙剑.空之轨迹): 1.角色信息(生命值,等级) 2.道具信息(装备,药品) 3.场景信息(场景名称.角色坐标) 4.事件信息(任务相关) 关卡类游戏:关卡的通 ...
- 正版七日杀服务器存档,七日杀网吧怎么存档 七日杀网吧存档读档方法介绍-游侠网...
七日杀的电脑要求配置虽然不是特别高,但是相对于很多玩家的电脑来说还是一个不小的负担的,所以很多玩家会选择去网吧游玩,但是很多玩家发现网吧非主机玩家的人物数据重进总是清零.所以今天小编就为大家带来了便是 ...
- 游戏服务器之存档读档
设计上: (1)存档方式 定时器在一定范围的分钟内随机存档一次,为了避免集中式存档 第一次需要全部存档一次,因为需要存档版本字段 分标签实时存档设置了标签的数据,减少每次存档数据 (2)压缩处理 档案 ...
- [虚幻引擎][UE][UE5]简单的游戏读档存档
[虚幻引擎][UE][UE5]简单的游戏读档存档
- Python 名片管理系统(文件版,可存档读档)
Python 名片管理系统(文件版,可存档读档) 相比于函数版的程序,文件版增加了存档读档操作 函数版的可以参考Python名片管理系统(列表.字典和函数的综合应用) 以下是新增部分的代码(不包括调用 ...
- c++游戏小技巧2:存读档
<好久没更了>,今天难得有时间,更篇小技巧. 粥锁粥之,<一些游戏没有存档,当你玩到满级时,可能会很尴尬> 为了避免尴尬 流这种东西脱颖而出 ---------------- ...
最新文章
- php自定义控件,小程序自定义组件的实现方法(代码)
- Dos中@符号的使用演示(屏蔽echo off的回显)
- 零基础如何高效学好Java?Java怎么学?
- HashMap方法源码
- dump查询Java 状态
- python中bool函数的作用_Python内置bool函数详细介绍
- String s = new String(“hello“)创建了几个对象(图解)
- the android sdk location cannot be at the filesystem root
- 键盘上在方向键上面的9个键是干什么的?
- svr预测出来是一条直线_如何预测股价目标位,涨跌目标预测法之“解消点”帮你寻找...
- python语言的缩进可以采用tab键实现吗_python中使用空格还是使用 Tab键缩进的建议...
- docker学习记录 docker 脚本----redis,zookeeper,kafka(三)
- pycharm2016破解方法
- linux 运维安全,运维安全有哪些分类呢?linux学习线路图
- 科技初创企业遭遇IPO寒冬
- 冯.诺依曼体系结构对计算机发展的限制
- linux的下载利器——aira2 可以下载磁力链接
- Spring 依赖注入的理解及三种注入方式
- Markdown编辑器模式使用LaTex编辑数学公式入门
- 图像的读取 matlab,Matlab编程环境下图像的读取