Initial
This commit is contained in:
134
mdiwin/STRING.CPP
Normal file
134
mdiwin/STRING.CPP
Normal file
@@ -0,0 +1,134 @@
|
||||
#include <ctype.h>
|
||||
#include <mdiwin/string.hpp>
|
||||
|
||||
String::String(int resourceID,HINSTANCE hInstance)
|
||||
{
|
||||
mnpStr=new char[MaxResourceString];
|
||||
::memset(mnpStr,0,MaxResourceString);
|
||||
::LoadString(hInstance,resourceID,(LPSTR)mnpStr,MaxResourceString);
|
||||
}
|
||||
|
||||
int String::operator!=(const String &someString)const
|
||||
{
|
||||
if(!mnpStr && !someString.mnpStr)return 0;
|
||||
if(!mnpStr || !someString.mnpStr)return 1;
|
||||
return (::strcmp(mnpStr,someString.mnpStr));
|
||||
}
|
||||
|
||||
int String::operator==(const String &someString)const
|
||||
{
|
||||
if(!mnpStr && !someString.mnpStr)return 1;
|
||||
if(!mnpStr || !someString.mnpStr)return 0;
|
||||
return (!::strcmp(mnpStr,someString.mnpStr));
|
||||
}
|
||||
|
||||
int String::operator<(const String &someString)const
|
||||
{
|
||||
if(!mnpStr||!someString.mnpStr)return FALSE;
|
||||
return (::strcmp(mnpStr,someString.mnpStr)<0);
|
||||
}
|
||||
|
||||
int String::operator<=(const String &someString)const
|
||||
{
|
||||
if(!mnpStr||!someString.mnpStr)return FALSE;
|
||||
if(*this<someString)return TRUE;
|
||||
if(*this==someString)return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int String::operator=(const String &someString)
|
||||
{
|
||||
int stringLength;
|
||||
if(!(stringLength=::strlen(someString.mnpStr)))return 0;
|
||||
if(mnpStr)delete mnpStr;
|
||||
mnpStr=new char[stringLength+1];
|
||||
::strcpy(mnpStr,someString.mnpStr);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int String::operator=(const char *someCharStar)
|
||||
{
|
||||
int stringLength;
|
||||
if(!(stringLength=::strlen(someCharStar)))return 0;
|
||||
if(mnpStr)delete mnpStr;
|
||||
mnpStr=new char[stringLength+1];
|
||||
::strcpy(mnpStr,someCharStar);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int String::operator+=(const String &someString)
|
||||
{
|
||||
char *tempStr;
|
||||
|
||||
if(!someString.mnpStr)return 0;
|
||||
if(!mnpStr)
|
||||
{
|
||||
mnpStr=new char[::strlen(someString.mnpStr)+1];
|
||||
::strcpy(mnpStr,someString.mnpStr);
|
||||
return 1;
|
||||
}
|
||||
tempStr=mnpStr;
|
||||
mnpStr=new char[::strlen(tempStr)+::strlen(someString.mnpStr)+1];
|
||||
::strcpy(mnpStr,tempStr);
|
||||
::strcpy(mnpStr+::strlen(tempStr),someString.mnpStr);
|
||||
delete tempStr;
|
||||
return 1;
|
||||
}
|
||||
|
||||
int String::operator+=(const char *someStr)
|
||||
{
|
||||
char *tempStr;
|
||||
|
||||
if(!someStr)return 0;
|
||||
if(!mnpStr)
|
||||
{
|
||||
mnpStr=new char[::strlen(someStr)+1];
|
||||
::strcpy(mnpStr,someStr);
|
||||
return 1;
|
||||
}
|
||||
tempStr=mnpStr;
|
||||
mnpStr=new char[::strlen(tempStr)+::strlen(someStr)+1];
|
||||
::strcpy(mnpStr,tempStr);
|
||||
::strcpy(mnpStr+::strlen(tempStr),someStr);
|
||||
delete tempStr;
|
||||
return 1;
|
||||
}
|
||||
|
||||
int String::reserve(unsigned nBytes)
|
||||
{
|
||||
if(!nBytes)return 0;
|
||||
if(mnpStr)delete mnpStr;
|
||||
mnpStr=new char[nBytes];
|
||||
::memset(mnpStr,0,nBytes);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int String::token(const char *tokenString)
|
||||
{
|
||||
if(!tokenString)return 0;
|
||||
if(!mnpStr)return 0;
|
||||
if(::strtok(mnpStr,tokenString))return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void String::upper(void)
|
||||
{
|
||||
char *string=mnpStr;
|
||||
|
||||
if(!mnpStr)return;
|
||||
while(*string)
|
||||
{
|
||||
*string=::toupper(*string);
|
||||
string++;
|
||||
}
|
||||
}
|
||||
|
||||
int String::strstr(const char *string)const
|
||||
{
|
||||
if(!mnpStr)return 0;
|
||||
return (int)::strstr(mnpStr,string);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user