众所周知,dat是一个类似加密的二进制格式文件,很多人喜欢将游戏数据保存在dat文件中,只有知道你的存放格式,才能够将数据破解出来,因而研究了dat文件的存取方式。其实就是c++文件的操作,只不过是在取的时候需要按照自己存放的格式获取出来。
本文将实现将结构体数据保存到dat文件,并且将dat文件读取回来。
1.struct结构体的格式数据
首先定义一个结构体,用以存放存入dat文件的数据,同时,再取的时候按照结构体的格式进行获取操作:
#pragma once
#ifndef _STRUCT_H_
#define _STRUCT_H_
#include<vector>
#include <iostream>
#include <string>
using namespace std;;
#define MaxSize 10
//设置结构体的边界对齐为1个字节,对于结构体中的char数组,如果不满4的倍数字节,会默认补齐,声明之后数据在内存中是连续存储的。
#pragma pack(1)
typedef struct _TEST_DAT
{
int type;
char name[MaxSize];
int age;
}TESTDAT;
#pragma pack()
#endif