자바에는 있지만 c++에는 없는 스트링 관련 클래스



#pragma once


#include <string>


using namespace std;


class CMyString

{

public:

CMyString(void);

~CMyString(void);


string upperCase(string& str);

string lowerCase(string& str);

string trim(const string& str);

string rTrim(const string & str);

string lTrim(const string & str);

};



#include "MyString.h"



CMyString::CMyString(void)

{

}



CMyString::~CMyString(void)

{

}


string CMyString::upperCase(string& str) {

char* buf = new char[s.length()];

str.copy(buf, str.length());

for(int i = 0; i < str.length(); i++)

buf[i] = toupper(buf[i]);

string r(buf, str.length());

delete buf;

return r;

}


// Make a lowercase copy of str:

string CMyString::lowerCase(string& str) {

char* buf = new char[str.length()];

str.copy(buf, str.length());

for(int i = 0; i < str.length(); i++)

buf[i] = tolower(buf[i]);

string r(buf, str.length());

delete buf;

return r;

}


string CMyString::trim(const string& str)

{

unsigned int f,e ;

if (str.length() == 0)

return s;

f = str.find_first_not_of(" \t\r\n");

e = str.find_last_not_of(" \t\r\n");

if (f == string::npos)

return "";

return string(str,f,e-f+1);

}


string CMyString::rTrim(const string & str)

{

unsigned int e;

if (str.length() == 0)

return str;

e = str.find_last_not_of(" \t\r\n");

if (e == string::npos)

return "";

return string(str,0,e+1);

}


string CMyString::lTrim(const string & str)

{

unsigned int f;

if (str.length() == 0)

return str;

f = str.find_first_not_of(" \t\r\n");

if (f == string::npos)

return "";

return string(str,f);

}



+ Recent posts