📄 mystring.cpp
字号:
/// \file MyString.cpp//-----------------------------------------------------------------------------#include "Util.h"#include "MyString.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endifCMyString::CMyString() : m_mystring(""){}CMyString::CMyString(LPCTSTR lpsz) : m_mystring(lpsz){}CMyString::CMyString(LPCTSTR lpsz, int nLength) : m_mystring(lpsz, nLength){}CMyString::CMyString(const CMyString& stringSrc) : m_mystring(stringSrc.m_mystring){}CMyString::CMyString(const CString& stringSrc) : m_mystring(stringSrc){}CMyString::~CMyString(){ trashstring();}voidCMyString::trashstring(){ trashMemory((unsigned char*)m_mystring.GetBuffer(m_mystring.GetLength()), m_mystring.GetLength());}LPTSTRCMyString::GetBuffer(int nMinBufLength){ return m_mystring.GetBuffer(nMinBufLength);}voidCMyString::ReleaseBuffer(int nNewLength){ m_mystring.ReleaseBuffer(nNewLength);}intCMyString::GetLength() const{ return m_mystring.GetLength();}const CMyString&CMyString::operator=(const CMyString& stringSrc){ trashstring(); m_mystring = stringSrc.m_mystring; return *this;}const CMyString&CMyString::operator=(TCHAR ch){ trashstring(); m_mystring = ch; return *this;}const CMyString&CMyString::operator=(LPCTSTR lpsz){ trashstring(); m_mystring = lpsz; return *this;}const CMyString&CMyString::operator=(const unsigned char* psz){ trashstring(); m_mystring = psz; return *this;}const CMyString&CMyString::operator+=(const CMyString& string){ m_mystring += string.m_mystring; return *this;}const CMyString&CMyString::operator+=(TCHAR ch){ m_mystring += ch; return *this;}const CMyString&CMyString::operator+=(LPCTSTR lpsz){ m_mystring += lpsz; return *this;}CMyString AFXAPIoperator+(const CMyString& string1,const CMyString& string2){ CMyString s; s = (CMyString)(string1.m_mystring+string2.m_mystring); return s;}CMyString AFXAPIoperator+(const CMyString& string, TCHAR ch){ CMyString s; s = (CMyString)(string.m_mystring + ch); return s;}CMyString AFXAPIoperator+(TCHAR ch, const CMyString& string){ CMyString s; s = (CMyString)(ch + string.m_mystring); return s;}CMyString AFXAPIoperator+(const CMyString& string, LPCTSTR lpsz){ CMyString s; s = (CMyString)(string.m_mystring + lpsz); return s;}CMyString AFXAPIoperator+(LPCTSTR lpsz, const CMyString& string){ CMyString s; s = (CMyString)(lpsz + string.m_mystring); return s;}CMyStringCMyString::Mid(int nFirst, int nCount) const{ return m_mystring.Mid(nFirst,nCount);}TCHARCMyString::operator[](int nIndex) const{ return m_mystring[nIndex];}voidCMyString::SetAt(int nIndex, TCHAR ch){ m_mystring.SetAt(nIndex,ch);}CMyString::operator CString() const{ return m_mystring;}CMyString::operator CString&(){ return m_mystring;}CMyString::operator LPCTSTR() const{ return (LPCTSTR)m_mystring;}BOOLCMyString::IsEmpty() const{ return m_mystring.IsEmpty();}intCMyString::FindByte(char ch) const{ int nRetVal = -1; // default to not found int nIndex = 0;; const char* pszString = (const char *)m_mystring; while ( pszString[nIndex] ) { if ( pszString[nIndex] == ch ) { nRetVal = nIndex; break; } ++nIndex; } return nRetVal;}intCMyString::Find(TCHAR ch) const{ return m_mystring.Find(ch);}intCMyString::Find(LPCTSTR lpszSub) const{ return m_mystring.Find(lpszSub);}//Can't properly trash the memory here, so it is better to just return a CStringCStringCMyString::Left(int nCount) const{ return m_mystring.Left(nCount);}//Can't properly trash the memory here, so it is better to just return a CStringCStringCMyString::Right(int nCount) const{ return m_mystring.Right(nCount);}booloperator==(const CMyString& s1, const CMyString& s2){ return (const CString)s1 == (const CString)s2;}booloperator==(const CMyString& s1, LPCTSTR s2){ return (const CString)s1==s2;}booloperator==(LPCTSTR s1, const CMyString& s2){ return s1==(const CString)s2;}booloperator!=(const CMyString& s1, const CMyString& s2){ return (const CString)s1 != (const CString)s2;}booloperator!=(const CMyString& s1, LPCTSTR s2){ return (const CString)s1 != s2;}booloperator!=(LPCTSTR s1, const CMyString& s2){ return s1 != (const CString)s2;}//-----------------------------------------------------------------------------//-----------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -