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

📄 kstring.h

📁 一个简单而又高效的嵌入式操作系统.包括GUI及文件系统.仿Windows设计,类似于MFC风格
💻 H
字号:
// KString.h: interface for the KString class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_KSTRING_H__D6046E4A_2822_4989_9DB4_7EF673961114__INCLUDED_)
#define AFX_KSTRING_H__D6046E4A_2822_4989_9DB4_7EF673961114__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class KString  
{
private:
	static int fmtInt(TCHAR aBuf[],int nValue,int nSign);
	static int fmtHex(TCHAR aBuf[],int nValue,BOOL bUpper);
	static int fmtDouble(TCHAR aBuf[], double dValue,int nPrec,int nSign);
	static int strlen(LPCTSTR sz);
	void AllocBuffer(int nLen,BOOL bCopy);
	void strncpy(LPCTSTR sz,int nCount);
	void strncat(LPCTSTR sz,int nCount);
	LPTSTR m_pData;
	int m_nLength;
public:
	void FreeExtra();
	void ReleaseBuffer(int nNewLength);
	LPTSTR GetBuffer(int nMinBufLength);
	void TrimLeft(LPCTSTR szTarget);
	void TrimRight(LPCTSTR szTarget);
	int Replace(LPCTSTR szOld,LPCTSTR szNew);
	double toDouble();
	int toHex();
	int toInt();
	void Format(LPCTSTR szFormat,...);
	void MakeLower();
	void MakeUpper();
	int FindOneOf(LPCTSTR szCharSet);
	int ReverseFind(TCHAR ch);
	int Find(TCHAR ch,int nStart);
	int Find(LPCTSTR sz,int nStart);
	KString Mid(int nFirst,int nCount);
	KString Right(int nCount);
	KString Left(int nCount);
	int Compare(LPCTSTR sz,int nCount);
	KString();
	KString(const KString& str);
	KString(LPCTSTR sz);
	~KString();
public:
	__inline BOOL IsEmpty(){return !m_nLength;}
	__inline int GetLength(){return m_nLength;}
	__inline int Find(TCHAR ch){return Find(ch,0);}
	__inline int Find(LPCTSTR sz){return Find(sz,0);}
	__inline const KString& operator+=(LPCTSTR sz){strncat(sz,strlen(sz));return *this;}
	__inline const KString& operator+=(const KString& str){strncat(str.m_pData,str.m_nLength);return *this;}
	__inline const KString operator+(LPCTSTR sz){KString s=m_pData;s.strncat(sz,strlen(sz));return s;}
	__inline const KString operator+(const KString& str){KString s=m_pData;s.strncat(str.m_pData,str.m_nLength);return s;}
	__inline const KString& operator=(LPCTSTR sz){strncpy(sz,strlen(sz));return *this;}
	__inline const KString& operator=(const KString& str){strncpy(str.m_pData,str.m_nLength);return *this;}
	__inline TCHAR operator[](int nIndex){return m_pData[nIndex];}
	__inline BOOL operator==(LPCTSTR sz){return !Compare(sz,m_nLength+1);}
	__inline BOOL operator==(const KString& str){return !Compare(str.m_pData,m_nLength+1);}
	__inline operator LPCTSTR(){return LPCTSTR(m_pData);}
};

#endif // !defined(AFX_KSTRING_H__D6046E4A_2822_4989_9DB4_7EF673961114__INCLUDED_)

⌨️ 快捷键说明

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