CString에 쓰이는 멤버 함수 정리


GetLength - CString 객체 내의 문자 개수를 반환함

IsEmpty - CString 객체에 문자가 없는지 확인

Empty - 문자열의 길이를 0으로 만듬

GetAt - 주어진 위치에 있는 문자를 반환

SetAt - 주어진 위치에 문자를 설정

Compare - 두개의 문자열을 비교 (대소문자 구분)

CompareNoCase - 두개의 문자열을 비고 (대소문자 구분 안함)

Mid - 문자열의 중간부분 추출

ex. temp.Left(5,2) //5번째부터 2글자 얻기

Left - 문자열의 왼쪽부분 추출

ex. temp.Left(5) //왼쪽부터 5글자 얻기

Right - 문자열의 오른쪽부분 추출

ex. temp.Right(5) //오른쪽부터 5글자 얻기

MakeUpper - 대문자 변환

MakeLower - 소문자 변환

MakeReverse - 문자열 반대로 뒤집기

Format - 문자열을 포멧함

TrimLeft - 문자열에서 앞부분에 있는 공백 문자들을 잘라버림

TrimRight - 문자열에서 끝부분에 있는 공백 문자들을 잘라버림

Find - 문자열 내에서 문자 또는 부분문자열을 찾음

CString str = _T("Hello"); 

int pos = str.Find(_T("He"));  // pos = 0; 

int pos2 = str.Find(_T("ll")); // pos = 2;

int pos3 = str.Find(_T("aaa")); // pos = -1;  없을시 -1

ReverseFind - 문자열 내에서 역순으로 문자를 찾음

FindOneOf - 일치하는 첫번째 문자를 찾음


연산자 재정의로 문자열 함수인 strcat, strcpy 등의 역활을 함


operator << - 아카이브 혹은 덤프 컨텍스트에 문자열을 넣음

operator >> - 아카이브에서 문자열을 추출

operator LPCTSTR - c언어 스타일의 문자열로서 CString객체에 저장된 문자를 직접 참조

operator []. - 주어진 위치에 있는 문자를 반환한다. GetAt을 연산자로 만든 것

operator = - 새로운 값을 CString 객체에 할당

operator + - 두 문자열을 결합하여 새로운 문자열을 반환

operator += - 새로운 문자열을 기존의 문자열의 끝에 추가


예를 들어서


CString str="abc";

str+="de"  //이 시점에서 문자열은 "abcde"


정말 편하다는 느낌 이네요.


출처 : http://blog.naver.com/shshrka001?Redirect=Log&logNo=20131539052





CString -> int

int num = _ttoi(CString str);


int -> CString

CString str.Format(_T("%d"), int num);





1. char 형변환

atoi() : char(문자나 문자열) -> int (부호있는 2바이트 정수)

atol() : char -> long (부호있는 4바이트 정수)

atof() : char - > double(4바이트 실수)

itoa() : int -> char 등등...

(ex) itoa(바꿀숫자, char형으로 바꿔서 넣을변수, 10진수);

itoa(int, char[], 10);


2. int <-> CString , double <-> CString

// CString -> int convert
CString strNum = _T("5");
int nNum = _ttoi(strNum);

// int -> CString convert
int nNum = 5;
CString strNum;
strNum
.Format(_T("%d"), nNum);

// CString -> double
CString strNum = _T("5.5");
double nNum = _wtof(strNum);

// double -> CString
double nNum = 5.5;
CString strNum;
strNum
.Format(_T("%f"), nNum);


// Multibyte 기반일 경우
// _ttoi -> atoi
// _wtof -> atof 로 바꿔주면 된다


3. 1번의 역순..

---------------------------------------

CString Str;

Str.Format("%d", 200); // %d형태로 바꿔준다

------------------------------------------------------------

%서식문자 종료

%c : 단일문자

%d : 부호있는 10진 정수

%i : 부호있는 10진 정수, %d와 같음

%f : 부호있는 실수 (float 아니다 double이고 소수점은 기본 6자리까지 표시됨)

%s : 문자열

%o : 부호없는 8진 정수

%u : 부호없는 10진 정수

%x : 부호없는 16진 정수(소문자)

%X : 부호없는 16진 정수(대문자)

%e : e 표기법에 의한 실수

%p : 포인트

%#010x : 주소

%0xd : 0이 x개인 정수 (예 : %03d // 0이 최소 3자리, 001, 002, 090, 등등)

%.fX : 소수점 X자리까지 : (예: %.f2 소수점 2째자리까지 표시됨)

%% : 기호출력


4. CString <-> const char*

[ CString -> const char* ]

CString str1 = _T("안녕하세요");
const char* str2;
str2 = (CStringA) str1;


[ const char* -> CString ]

const char* str1 = "안녕하세요";
CString str2;
str2 = (CString)str1;


출처 : http://blog.rancliver.com/20156378677







'Programming > MFC' 카테고리의 다른 글

CString 숫자인지 체크  (0) 2012.05.08
현재시간 구하기  (0) 2012.05.06
MFC 자주쓰는 함수  (0) 2012.04.20

+ Recent posts