自己写的一个文件处理类,完全内存操作,所以占用内存比较大,但是速度比较快。
记得用完之后释放哦。
我还写了一个使用的搜素函数,可以搜索二进制、ANSI文本、UTF-8文本、UNICODE文本。
搜索二进制的时候,返回的是查找位置之后的位置。搜索文本返回的是文本位置。
没有找到都返回0.

希望不要去掉版权信息。

//                     内存高速文件处理
//     版权所有 (C) 耍下 www.shuax.com 2010.01.22
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#define OK 1
#define ERROR 0
class MEMFILE
{
private:
	long offset;
	long FileSize;
	char *FileBuffer;
	bool state;
	char getHex(char hex);
public:
	MEMFILE(char *filename);			//传递文件名,构造文件类
	inline bool isRight();				//检查文件打开状态
	inline long getSize();				//返回文件大小
	bool save(char *filename);			//保存文件
	//以下函数与标准函数类似,比如tell对应ftell、printf对应fprintf。
	inline long tell();
	bool seek(int off, int mode);
	char getc();
	void putc(char ch);
	char* gets();
	void puts(char *str);
	void printf(const char* parm, ...);
	void scanf(const char* parm, ...);
	void read(char *buf, int len);
	void write(char *buf, int len);
	inline void close();
	//搜索系列函数
	long search(char *hex, int len, long start, long end, bool mode);	//搜索串、长度、起始位置,模式为ture立即返回搜索值
	inline long search(char *hex, int len);
	long search_HEX(char *hex);
	long search_ANSI(char *text);
	long search_UTF8(char *text);
	long search_UNICODE(char *text);
};

原创文章,转载请注明: 转载自耍下
本文链接地址: 高速文件处理类