本文介绍作者写的一个小工具,简单的代码中包含了C语言对字符串的处理技巧,对文本文件的简单解析,二进制文件的数据复制的方法,以及格式化输出文本文件的示例。
工具的输入是如下内容的配置文件:
;资源管理器配置脚本
;以行为单位,每行不能超过255个字符
;空行和以;开头的注释行会被忽略掉
;每行都关联一个资源文件,资源序号从0开始,依次递增
.\img\img128x128.bin
.\snd\start.wav
.\img\sheis1.bin
.\snd\balloon.wav
.\img\sheis2.bin
工具的源代码贴在这里:
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
/* 定义相关文件名 */
#define CONFIG_FILE_NAME ("config.txt")
#define RESPAK_FILE_NAME ("resmm.bin")
#define ADDRS_C_FILE_NAME ("resmm_addrs.c")
/* 定义配置行最大的字符数 */
#define LINE_CHARS (255)
/* 定义复制文件数据时的缓冲区大小 */
#define BUF_SIZE (8 * 1024)
/* 从配置行提取文件名 */
static char* extract_file_name(const char* line, char* file_name)
{
/* 过滤配置行左边的空格符 */
while(isspace(*line++)){};
li