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

📄 mystring.cpp

📁 Password Safe Password Safe is a password database utility. Users can keep their passwords securely
💻 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 + -