⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 strtype.h

📁 在Linux开发环境下实现JPEG_LS压缩标注
💻 H
字号:
#ifndef __Header_strtype__#define __Header_strtype__//#include <string.h>	// always include basetype.h which includes thistemplate <int Length>class String {	char string[Length];public:	String(void)		{		}	String(const char *s)		{			strncpy(string,s,Length);		}	operator const char *(void) const		{			// not delimited unless originally delimited			return string;		}	operator char *(void) const		{			// makes a delimited copy that caller must delete[]			char *s = new char[Length+1];			Assert(s);			strncpy(s,string,Length);			s[Length]=0;			return s;		}};// used as:////	String<10> s;////	ostr << String_Use(s);class String_Use {	char *string;public:	String_Use(char *s)		{			string=s;		}	~String_Use()		{			if (string) delete[] string;		}	operator const char *(void) const		{			return string;		}};class String_Cat_Use {	char *string;public:	String_Cat_Use(const char *s1,const char *s2)		{			size_t length=0;			if (s1) length+=strlen(s1);			if (s2) length+=strlen(s2);			string=new char[length+1];			string[0]=0;			if (s1) strcat(string,s1);			if (s2) strcat(string,s2);			string[length]=0;		}	~String_Cat_Use()		{			if (string) delete[] string;		}	operator const char *(void) const		{			return string;		}};static inlinechar *StrDup(const char *s){	char *d;	if (s) {		d=new char[strlen(s)+1];		Assert(d);		strcpy(d,s);	}	else		d=0;	return d;}class StringCopy {private:	char *string;public:	StringCopy(void)		{			string=0;		}	StringCopy(const char *from)		{			string=StrDup(from);		}	StringCopy(const StringCopy& from)		{			string=StrDup(from);		}	~StringCopy(void)		{			if (string) delete[] string;		}	StringCopy& operator=(const StringCopy& from)		{			string=StrDup(from.string);			return *this;		}	operator const char *() const		{			return string;		}	operator char *(void) const		{			return StrDup(string);		}};#endif /* __Header_strtype__ */

⌨️ 快捷键说明

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