C语言打包与解包程序

C语言打包与解包程序

//测试通过

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

typedef unsigned int uint;

typedef unsigned char byte;

// 包文件中最大可容纳的文件个数

#define MAX_FILE_COUNT 10

// 全局包文件指针

FILE* g_pMasFile = NULL;

// 资源包文件头结构

typedef struct SMaseFileHeader

{

uint uFileFlag; // 包文件头标记: 'MASE'

uint uFileCount; // 包内文件个数

uint uFileListOfs; // 文件列表偏移

uint uMaxFileCount; // 最大子文件个数

uint uFileSize; // 包文件的大小

}MaseHeader;

// 包内文件信息结构

typedef struct SFilesMessage

{

uint uFileOfs; // 本文件在包内的偏移

uint uFileSize; // 本文件的大小

char szFileName[260]; // 本文件的路径

}FilesMsg;

// 打开包文件

int OpenMasFile(const char* path, const byte onlyOpen)

{

uint uWriteCount; // 写入文件信息次数

byte bIsNew = 0; // 是否新建的

MaseHeader header; // 文件头结构定义

FilesMsg msg; // 文件信息结构定义

g_pMasFile = fopen(path, "rb"); // 用来判断是否存在

if (g_pMasFile == NULL)

{

if (onlyOpen == 1) // 只打开不新建

return -1;

bIsNew = 1;

你可能喜欢

  • C语言程序设计A
  • C语言程序设计课程设计
  • C语言程序设计+
  • C语言程序设计教程
  • C语言程序设计与上机指导
  • 程序语言
  • C语言程序设计题

C语言打包与解包程序相关文档

最新文档

返回顶部