📄 cnstring.h
字号:
//---------------------------------------------------------------------------
#include <windows.h>
#ifndef CNStringH
#define CNStringH
#define GLOBAL_ALLOCMEM
//---------------------------------------------------------------------------
class TCNString{
private:
char* Data;
void __fastcall Error(const char *ErrorMsg) const;
void* __fastcall GlobalAllocPtr(unsigned int Flags,unsigned long Bytes) const;
void* __fastcall GlobalReAllocPtr(void *Ptr,DWORD Bytes,UINT Flag) const;
HGLOBAL __fastcall GlobalFreePtr(void *Ptr) const;
DWORD __fastcall GlobalSizePtr(void *Ptr) const;
public:
// Constructors
__fastcall TCNString() { Data = NULL;}
__fastcall TCNString(const char* src);
__fastcall TCNString(const TCNString& src);
__fastcall TCNString(const char* src, unsigned int len);
__fastcall TCNString(char src);
// Destructor
__fastcall ~TCNString();
TCNString& __fastcall operator =(const TCNString& rhs);
TCNString& __fastcall operator =(const char *s);
// Concatenation
TCNString __fastcall operator +(const TCNString& rhs) const;
TCNString __fastcall operator +(char *s) const;
friend TCNString __fastcall operator +(char *src, const TCNString& rhs);
TCNString& __fastcall operator +=(const TCNString& rhs);
TCNString& __fastcall operator +=(const char *s);
friend bool __fastcall operator ==(const char *s,const TCNString& rhs);
bool __fastcall operator ==(const TCNString& rhs) const;
bool __fastcall operator ==(const char *s) const;
friend bool __fastcall operator !=(const char *s,const TCNString& rhs);
bool __fastcall operator !=(const TCNString& rhs) const;
bool __fastcall operator !=(const char *s) const;
bool __fastcall operator < (const TCNString& rhs) const;
bool __fastcall operator > (const TCNString& rhs) const;
bool __fastcall operator <=(const TCNString& rhs) const;
bool __fastcall operator >=(const TCNString& rhs) const;
char __fastcall operator [](const int idx) const
{
if( (idx >= Length()) || Data == NULL)
{
return '\0';
}
return ((char *)Data)[idx];
}
int __fastcall Find(char c,int Start) const;
int __fastcall FindLast(char c) const;
// C string operator
char* __fastcall c_str() const { return (Data)? (char *)Data: "";}
// Read access to raw Data ptr. Will be NULL for an empty string.
const void* __fastcall data() const { return Data; }
// Query attributes of string
int __fastcall Length() const;// const { return GlobalSizePtr(Data);/*strlen(Data);*/ }
bool __fastcall IsEmpty() const { return Data == NULL; }
// Modify string
TCNString& __fastcall Insert(const TCNString& str, int index);
TCNString& __fastcall Delete(int index, int count);
TCNString& __fastcall SetLength(int newLength);
int __fastcall Pos(const TCNString& subStr) const;
TCNString __fastcall LowerCase() const;
TCNString __fastcall UpperCase() const;
TCNString __fastcall Trim() const;
TCNString __fastcall TrimLeft() const;
TCNString __fastcall TrimRight() const;
TCNString __fastcall SubString(int index, int count) const;
int __fastcall ToInt() const;
double __fastcall ToDouble() const;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -