Post List

2014년 12월 25일 목요일

MFC CString 에서 형변환 함수들 총정리 (Format 포함)

원문 :  http://blog.naver.com/hero2636/130109728249

워낙 형변환에 취약한 지라 어제 저녁에 공부하면서~~이것저것 찾아보면서 정리를 했네용~~ㅋㅋ

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;

댓글 없음:

댓글 쓰기