ulib  1.0
S.W. Lee's essential C++ library
 All Classes Namespaces Files Functions Variables Typedefs Macros Pages
Public Member Functions | Static Public Member Functions | List of all members
ulib::CUString Class Reference

String 클래스 More...

#include <ustring.h>

Public Member Functions

 CUString ()
 생성자
 CUString (char arg_str[])
 생성자
 CUString (const char arg_str[])
 CUString (const CUString &rhs)
 생성자
 ~CUString ()
 소멸자
char operator[] (int nIndex)
 [] 연산자
void operator+= (char rhs[])
 += 연산자
void operator+= (CUString rhs)
 += 연산자
CUStringoperator= (char[])
 = 연산자
CUStringoperator= (CUString)
 = 연산자, String을 rhs로 설정
CUString operator+ (char[])
 
  • 연산자

CUString operator+ (CUString)
 
  • 연산자

bool operator== (CUString rhs)
 == 연산자
bool operator!= (CUString rhs)
 != 연산자
bool IsEmpty ()
 비어있는지 여부를 체크함
void Empty ()
 String을 비움
char GetAt (int nIndex)
 String의 특정 위치의 char를 구함
void SetAt (int nIndex, char ch)
 String의 특정 위치에 char를 설정
int GetLength ()
 String의 길이(Byte)를 구함
CUString Left (int nCount)
 String을 둘로 나눠 왼쪽 영역을 구함
CUString Right (int nCount)
 String을 둘로 나눠 오른쪽 영역을 구함
CUString Mid (int nFirst)
 String의 일부분을 구함
CUString Mid (int nFirst, int nCount)
 String의 일부분을 구함
int Find (CUString &find, int pos=0)
 String의 내부에 해당 string이 있는지 검색
int Find (char find, int pos=0)
 String의 내부에 해당 string이 있는지 검색
int Find (char find[], int pos=0)
 String의 내부에 해당 string이 있는지 검색
int FindCasefree (CUString &find, int pos=0)
 String의 내부에 해당 string이 있는지 대소문자 구별 없이 검색
int FindCasefree (char find, int pos=0)
int FindCasefree (char find[], int pos=0)
 String의 내부에 해당 string이 있는지 대소문자 구별 없이 검색
int ReverseFind (char ch)
 String의 내부에 해당 char이 있는지 뒤에서 부터 검색
void MakeToUpper ()
 String의 모든 대문자를 소분자로 변경
void MakeToLower ()
 String의 모든 소문자를 대분자로 변경
char MakeToUpperChar (char ch)
char MakeToLowerChar (char ch)
int Replace (char chOld[], char chNew[], bool caseFree=false)
 String의 내부에 해당 char[]을 새로운 char[]로 교체
int Delete (int nIndex, int nCount)
 String의 일부분을 삭제
int DeleteStr (char chStr[], bool caseFree=false)
int DeleteBoundTag (char chStart[], char chEnd[])
void Trim (char chTarget[]=" \t\n\r")
void TrimLeft (char chTarget[]=" \t\n\r")
 String의 왼쪽에 chTarget이 있으면 제거
void TrimRight (char chTarget[]=" \t\n\r")
 String의 오른쪽에 chTarget이 있으면 제거
char * GetStr ()
 String의 char *를 구함
CUString GetColorStr (char *color)
 String의 char *를 구함 컬러링
void SetStr (char arg_str[])
 String를 char[]로 설정
void SetStr (CUString arg_str)
 String를 String으로 설정
CUString SubStr (int start, int end)
 String의 일부분을 구함
unsigned int Count (char find)
 String의 내부에 해당 char이 몇 개 있는지 검색
unsigned int Count (char find[])
 String의 내부에 해당 char[]이 몇 개 있는지 검색
bool IsNumber ()
bool IsAlpha ()
bool IsASCII ()
void Print (FILE *fp=stdout)
void SetColor (char color[])
void Remove (char *str)
void Remove (CUString &str)
int GetCharLength ()
 String의 글자수를 구함
int CharToIdx (int nIndex)
 글자의 위치로 offset을 찾음
CUString GetChar (int nIndex)
 String의 특정 위치의 글자를 구함
CUString GetChars (int nIndex, int nCount)
 String의 특정 위치의 글자들을 구함
int DeleteChars (int nIndex, int nCount)
 String의 특정 위치의 글자들을 삭제

Static Public Member Functions

static void NumberFormat (unsigned long size, CUString &str)
static void FileSizeFormat (unsigned long num, CUString &str)

Detailed Description

String 클래스

Date
06.05.27
Author
이승욱
Warning
???
Todo:
???
Bug:
???
Note
MFC의 CString과 비슷한(최대한 닮은) 클래스.
부분적인 한글 처리

테스트 환경

Constructor & Destructor Documentation

ulib::CUString::CUString ( )

생성자

Note
기본 크기(1024 Byte)로 버퍼를 생성
See Also
~CUString()

References DEF_BUFF_SIZE, and UNDEFINE.

Referenced by GetChar(), SetColor(), and SubStr().

ulib::CUString::CUString ( char  arg_str[])

생성자

Parameters
arg_str생성하면서 채워 넣을 문자열
Note
입력받은 char[] 크기만큼 버퍼를 생성
See Also
~CUString()
Parameters
arg_str생성하면서 채워 넣을 문자열
Note
입력받은 const char[] 크기만큼 버퍼를 생성
See Also
~CUString()

References UNDEFINE.

ulib::CUString::CUString ( const char  arg_str[])
ulib::CUString::CUString ( const CUString rhs)

생성자

Parameters
rhs복사하려는 CUString 객체
Note
입력받은 CUString를 복사
See Also
~CUString()
ulib::CUString::~CUString ( )

소멸자

Note
생성한 버퍼를 해제
See Also
CUString()

Member Function Documentation

int ulib::CUString::CharToIdx ( int  nPos)

글자의 위치로 offset을 찾음

Parameters
nPos글자의 위치
Returns
nIndex번째 글짜가 시작하는 위치

References GetCharLength().

Referenced by DeleteChars(), and GetChar().

unsigned int ulib::CUString::Count ( char  find)

String의 내부에 해당 char이 몇 개 있는지 검색

Parameters
find찾으려는 char
Returns
찾은 회수
unsigned int ulib::CUString::Count ( char  find[])

String의 내부에 해당 char[]이 몇 개 있는지 검색

Parameters
find찾으려는 char[]
Returns
찾은 회수

References Find().

int ulib::CUString::Delete ( int  nIndex,
int  nCount 
)

String의 일부분을 삭제

Parameters
nIndex지우려는 시작 위치
nCount지우려는 개수(Byte)
Returns
지워진 byte 크기
See Also
GetAt()

References GetLength(), GetStr(), Left(), Mid(), and SetStr().

Referenced by TrimLeft(), and TrimRight().

int ulib::CUString::DeleteBoundTag ( char  chStart[],
char  chEnd[] 
)

References Find(), Left(), Mid(), and SetStr().

int ulib::CUString::DeleteChars ( int  nIndex,
int  nCount 
)

String의 특정 위치의 글자들을 삭제

Parameters
nIndex글자의 위치
nCount글자의 수
Returns
지워진 byte 크기
Note
nIndex번째 글자부터 nCount개의 글자를 삭제

References CharToIdx(), GetLength(), GetStr(), Left(), Mid(), and SetStr().

int ulib::CUString::DeleteStr ( char  chStr[],
bool  caseFree = false 
)

References Replace().

void ulib::CUString::Empty ( )
void ulib::CUString::FileSizeFormat ( unsigned long  num,
CUString str 
)
static
int ulib::CUString::Find ( CUString find,
int  pos = 0 
)

String의 내부에 해당 string이 있는지 검색

Parameters
find찾을려는 string
pos찾기 시작할 위치
Returns
찾은 위치
찾지 못했을 경우 음수값을 리턴

References GetStr().

Referenced by Count(), DeleteBoundTag(), ulib::GetElementByBoundTag(), ulib::CUConfigFile::Load(), Remove(), Replace(), ulib::CUJson::Tokenize(), ulib::CUStringList::TokenizeByBoundTag(), ulib::CUStringList::TokenizeByChar(), and ulib::CUStringList::TokenizeByStr().

int ulib::CUString::Find ( char  find,
int  pos = 0 
)

String의 내부에 해당 string이 있는지 검색

Parameters
find찾으려는 string
pos찾기 시작할 위치
Returns
찾은 위치
찾지 못했을 경우 음수값을 리턴
int ulib::CUString::Find ( char  find[],
int  pos = 0 
)

String의 내부에 해당 string이 있는지 검색

Parameters
find찾을려는 string
pos찾기 시작할 위치
Returns
찾은 위치
찾지 못했을 경우 음수값을 리턴
int ulib::CUString::FindCasefree ( CUString find,
int  pos = 0 
)

String의 내부에 해당 string이 있는지 대소문자 구별 없이 검색

Parameters
find찾을려는 string
pos찾기 시작할 위치
Returns
찾은 위치
찾지 못했을 경우 음수값을 리턴

References GetStr().

Referenced by Replace().

int ulib::CUString::FindCasefree ( char  find,
int  pos = 0 
)
int ulib::CUString::FindCasefree ( char  find[],
int  pos = 0 
)

String의 내부에 해당 string이 있는지 대소문자 구별 없이 검색

Parameters
find찾을려는 string
pos찾기 시작할 위치
Returns
찾은 위치
찾지 못했을 경우 음수값을 리턴

References MakeToUpperChar().

char ulib::CUString::GetAt ( int  nIndex)

String의 특정 위치의 char를 구함

Parameters
nIndex구하려는 char의 위치
Returns
nIndex번째 char를 리턴
찾을려는 위치기 길이보다 크다면 \0을 리턴
See Also
GetCharLength()

Referenced by IsAlpha(), IsASCII(), ulib::CUOption::Load(), ulib::CUConfigFile::Load(), ulib::CUStringListRO::MakeList(), MakeToLower(), MakeToUpper(), operator+(), operator[](), Remove(), Replace(), ReverseFind(), ulib::CUJson::Tokenize(), ulib::CUStringList::TokenizeByChar(), TrimLeft(), and TrimRight().

CUString ulib::CUString::GetChar ( int  nPos)

String의 특정 위치의 글자를 구함

Parameters
nPos구하려는 글자의 위치
Returns
nPos 번째 글자를 리턴
See Also
GetChars()

References CharToIdx(), and CUString().

Referenced by GetChars().

int ulib::CUString::GetCharLength ( )

String의 글자수를 구함

Returns
글자수를 리턴
See Also
GetLength()

References UNDEFINE.

Referenced by CharToIdx().

CUString ulib::CUString::GetChars ( int  nIndex,
int  nCount 
)

String의 특정 위치의 글자들을 구함

Parameters
nIndex구하려는 글자의 위치
nCount구하려는 글자의 개수
Returns
nPos 번째 글자부터 nCount개의 글자를 리턴
See Also
GetChar()

References GetChar(), and IsEmpty().

CUString ulib::CUString::GetColorStr ( char *  color)

String의 char *를 구함 컬러링

Returns
char *를 리턴
See Also
SetStr()

References SetColor().

int ulib::CUString::GetLength ( )
char * ulib::CUString::GetStr ( )
bool ulib::CUString::IsAlpha ( )

References GetAt(), and GetLength().

bool ulib::CUString::IsASCII ( )

References GetAt(), and GetLength().

bool ulib::CUString::IsEmpty ( )
bool ulib::CUString::IsNumber ( )

References GetStr().

CUString ulib::CUString::Left ( int  pos)

String을 둘로 나눠 왼쪽 영역을 구함

Parameters
pos나눌려는 위치( 왼쪽부터 시작 )
Returns
왼쪽 영역의 String 객체
See Also
Mid(), Right()

References GetLength(), and SubStr().

Referenced by Delete(), DeleteBoundTag(), DeleteChars(), ulib::CUConfigFile::Load(), ulib::CUStringList::TokenizeByChar(), and ulib::CUStringList::TokenizeByStr().

void ulib::CUString::MakeToLower ( )

String의 모든 소문자를 대분자로 변경

See Also
MakeToUpper()

References GetAt(), GetLength(), MakeToLowerChar(), and SetAt().

char ulib::CUString::MakeToLowerChar ( char  ch)

Referenced by MakeToLower().

void ulib::CUString::MakeToUpper ( )

String의 모든 대문자를 소분자로 변경

See Also
MakeToLower()

References GetAt(), GetLength(), MakeToUpperChar(), and SetAt().

Referenced by ulib::Str2Bool().

char ulib::CUString::MakeToUpperChar ( char  ch)

Referenced by FindCasefree(), and MakeToUpper().

CUString ulib::CUString::Mid ( int  nFirst)

String의 일부분을 구함

Parameters
nFirst일부분의 시작위치
Returns
일부분의 String 객체
See Also
Left(), Right(), SubStr()
Note
SubStr()와 유사

Referenced by Delete(), DeleteBoundTag(), DeleteChars(), ulib::CUDir::ExtractExtension(), ulib::CUDir::ExtractFilename(), ulib::CUOption::Load(), ulib::CUConfigFile::Load(), ulib::CUStringList::TokenizeByChar(), and ulib::CUStringList::TokenizeByStr().

CUString ulib::CUString::Mid ( int  nFirst,
int  nCount 
)

String의 일부분을 구함

Parameters
nFirst일부분의 시작위치
nCount일부분의 길이, 단, 0 일때는 남은 모든 문자열의 개수
Returns
일부분의 String 객체
See Also
Left(), Right(), SubStr()
Note
SubStr()와 유사

References GetLength(), and SubStr().

void ulib::CUString::NumberFormat ( unsigned long  size,
CUString str 
)
static
bool ulib::CUString::operator!= ( CUString  rhs)

!= 연산자

Parameters
rhs비교하려는 String 객체
Returns
두 Stirng이 다르면 true를 리턴

References GetStr().

CUString ulib::CUString::operator+ ( char  rhs[])

  • 연산자

Parameters
rhs뒤에 붙히려는 char[]
Returns
현재 String의 뒤에 rhs를 붙힌 새로운 String 객체를 리턴
CUString ulib::CUString::operator+ ( CUString  rhs)

  • 연산자

Parameters
rhs뒤에 붙히려는 String 객체
Returns
현재 String의 뒤에 rhs를 붙힌 새로운 String 객체를 리턴

References GetAt(), and GetLength().

void ulib::CUString::operator+= ( char  rhs[])

+= 연산자

Parameters
rhs뒤에 붙히려는 char[]
void ulib::CUString::operator+= ( CUString  rhs)

+= 연산자

Parameters
rhs뒤에 붙히려는 String 객체

References GetLength(), GetStr(), and IsEmpty().

CUString & ulib::CUString::operator= ( char  rhs[])

= 연산자

Parameters
rhs복사하려는 char[]
Returns
설정후의 String 객체 자신의 주소
CUString & ulib::CUString::operator= ( CUString  rhs)

= 연산자, String을 rhs로 설정

Parameters
rhs복사하려는 String 객체
Returns
설정후의 String 객체 자신의 주소

References GetLength(), GetStr(), and UNDEFINE.

bool ulib::CUString::operator== ( CUString  rhs)

== 연산자

Parameters
rhs비교하려는 String 객체
Returns
두 Stirng이 같으면 true를 리턴

References GetStr().

char ulib::CUString::operator[] ( int  nIndex)

[] 연산자

Parameters
nIndex구하려는 위치
Returns
해당 위치의 char를 리턴
See Also
GetAt()

References GetAt().

void ulib::CUString::Print ( FILE *  fp = stdout)

References GetStr().

void ulib::CUString::Remove ( char *  str)

References Find(), GetAt(), GetLength(), and SetStr().

Referenced by Remove().

void ulib::CUString::Remove ( CUString str)

References GetStr(), and Remove().

int ulib::CUString::Replace ( char  chOld[],
char  chNew[],
bool  caseFree = false 
)

String의 내부에 해당 char[]을 새로운 char[]로 교체

Parameters
chOld대상 char[]
chNew교체할 char[]
Returns
교체한 개수

References Find(), FindCasefree(), GetAt(), GetLength(), GetStr(), IsEmpty(), and UNDEFINE.

Referenced by DeleteStr(), ulib::CUTextFile::LoadToStr(), and ulib::CUTextFile::ReadLine().

int ulib::CUString::ReverseFind ( char  ch)

String의 내부에 해당 char이 있는지 뒤에서 부터 검색

Parameters
ch찾을려는 char
Returns
찾은 위치
찾지 못했을 경우 -1을 리턴

References GetAt(), and GetLength().

Referenced by ulib::CUDir::ExtractExtension(), and ulib::CUDir::ExtractFilename().

CUString ulib::CUString::Right ( int  pos)

String을 둘로 나눠 오른쪽 영역을 구함

Parameters
pos나눌려는 위치( 오른쪽부터 시작 )
Returns
오른쪽 역역의 String 객체
See Also
Left(), Mid()
Warning
Mid와 헷갈리기 쉬움

References GetLength(), and SubStr().

void ulib::CUString::SetAt ( int  nIndex,
char  ch 
)

String의 특정 위치에 char를 설정

Parameters
nIndex설정하려는 char의 위치
ch설정하려는 char
Note
길이보다 긴 위치에 설정하려고 하면 아무 작업도 안함.
See Also
GetAt()

Referenced by ulib::CUStringListRO::MakeList(), MakeToLower(), and MakeToUpper().

void ulib::CUString::SetColor ( char  color[])
void ulib::CUString::SetStr ( char  arg[])

String를 char[]로 설정

Parameters
arg설정하려는 char[]
Note
현재 버퍼보다 긴 입력이 들어오면 크기에 맞게 버퍼를 재할당 후 복사
See Also
GetAt()

References UNDEFINE.

Referenced by Delete(), DeleteBoundTag(), DeleteChars(), ulib::CUStringList::GetAt(), ulib::CUStringList::PopAt(), ulib::CUStringList::PopBack(), ulib::CUStringList::PopFront(), Remove(), SetColor(), and SetStr().

void ulib::CUString::SetStr ( CUString  arg)

String를 String으로 설정

Parameters
arg설정하려는 String
Note
현재 버퍼보다 긴 입력이 들어오면 크기에 맞게 버퍼를 재할당 후 복사
See Also
SetStr() GetStr()

References GetStr(), and SetStr().

CUString ulib::CUString::SubStr ( int  start,
int  end 
)

String의 일부분을 구함

Parameters
start일부분의 시작위치
end일부분의 끝위치
Returns
일부분의 String 객체
See Also
Left(), Right(), Mid()
Note
Mid와 비슷하나 두번째 인자가(end) 마지막 인덱스임, MFC에선 길이(nCount)였음.

References CUString().

Referenced by ulib::GetElementByBoundTag(), Left(), Mid(), Right(), ulib::CUJson::Tokenize(), and ulib::CUStringList::TokenizeByBoundTag().

void ulib::CUString::Trim ( char  chTarget[] = " \t\n\r")

References TrimLeft(), and TrimRight().

Referenced by ulib::CUConfigFile::Load().

void ulib::CUString::TrimLeft ( char  chTarget[] = " \t\n\r")

String의 왼쪽에 chTarget이 있으면 제거

Parameters
chTarget제거할 문자들의 배열
See Also
TrimRight

References Delete(), GetAt(), and GetLength().

Referenced by Trim().

void ulib::CUString::TrimRight ( char  chTarget[] = " \t\n\r")

String의 오른쪽에 chTarget이 있으면 제거

Parameters
chTarget제거할 문자들의 배열
See Also
TrimLeft

References Delete(), GetAt(), and GetLength().

Referenced by ulib::CUDir::OpenDir(), ulib::CUTextFile::ReadLine(), and Trim().


The documentation for this class was generated from the following files: