본문 바로가기

Programming/MFC

CString형을 char*형으로 변환

파일입출력 할때 fputs(char*, filename)이 들어 가는데..

CString형을 바로 넣으니깐 자꾸 오류가 떠서 CString형을 char*형으로 바꿔서 넣으니 잘 작동되었다.

바꾸는 방법

CString Tmp = _T("TEST");
char *test;

test = (LPSTR)(LPCTSTR)Tmp;


위와 같이 하면 형이 변환 된다.

설명.

(LPSTR)(LPCTSTR)을 같이 쓰는 이유는 LPCTSTR은 const char*로 형변환을 시켜주는데
앞에 (LPSTR)을 붙여 줌으로써 const를 날려 준다.

반대로 바꾸는 방법.

CString Tmp = _T("TEST");
char *test;

Tmp = (LPCSTR)(LPSTR)test;

걍 순서만 바꿔주면 된다!