unixdecodertool.h

来自「一个解压程序,只要设定了解压路径和解压文件的种类,就可以随意解压」· C头文件 代码 · 共 48 行

H
48
字号
#ifndef AFX_UUETOOL_H__839F2EA0_3E45_11D4_8D96_B9FCCFB20032__INCLUDED_
#define AFX_UUETOOL_H__839F2EA0_3E45_11D4_8D96_B9FCCFB20032__INCLUDED_

#include "Tool.h"

class CUnixDecoderTool : public CTool
{
public:
	bool Check( const char* fname, unsigned long fsize );
	bool Extract( const char* fname, const char* ddir );

protected:
	CUnixDecoderTool( const char* r,char a,char b )
		: CTool(r), x(a), X(b) {}
	virtual void InitTable() = 0;
	char x,X,table[128];
};

class CUueTool : public CUnixDecoderTool
{
public:
	CUueTool() : CUnixDecoderTool( "UUDecode",'u','U' ) {}
protected:
	void InitTable()
	{
		memset( table,0,sizeof(table) );
		for( int n=0; n!=64; n++ )
			table[ ' '+n ] = n;
	}
};

class CXxeTool : public CUnixDecoderTool
{
public:
	CXxeTool() : CUnixDecoderTool( "XXDecode",'x','X' ) {}
protected:
	void InitTable()
	{
		const char set[] =
		"+-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
		memset( table,0,sizeof(table) );
		for( int n=0 ; n!=64; n++ )
			table[ set[n] ] = n;
	}
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?