자바에는 있지만 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);
}
'컴퓨터공학 > C,C++,MFC' 카테고리의 다른 글
C Trim (0) | 2012.09.16 |
---|---|
ofstream append 모드 (파일 끝에 이어 붙이기) (0) | 2012.05.06 |
유니코드 CString 에서 std::string으로 변환하기 (0) | 2012.05.05 |
stringstream 초기화 (0) | 2012.05.04 |
Edit Control 줄바꿈 ( 엔터키) 가능하게 하기 (0) | 2012.05.03 |