CString char2CString(char* inp)
{
int len;
CString str;
BSTR buf;
len = MultiByteToWideChar(CP_ACP, 0, inp, (int)strlen(inp), NULL, NULL);
buf = SysAllocStringLen(NULL, len);
MultiByteToWideChar(CP_ACP, 0, inp, (int)strlen(inp), buf, len);
str.Format(_T("%s"), buf);
return str;
}
char* CString2char(CString& str)
{
long len = str.GetLength();
len = len*2;
char* szTemp = new char[len+1];
memset(szTemp, 0, len+1);
USES_CONVERSION;
strcpy(szTemp, T2A(str));
return szTemp;
}
CString -> char* 위 경우 메모리 릭이 발생..
CString str = "내용";
char* ch = NULL;
ch = str.GetBuffer(str.GetLength()); / ch = (LPSTR)(LPCSTR)str;
로 가능하다는데 후자는 잘 안됐던거 같은데... 나중에 확인해보자.
'Programming > C, C++, MFC' 카테고리의 다른 글
std::string --> CString 변환함수 (0) | 2013.11.07 |
---|---|
유효숫자 만큼 나타내기 (0) | 2013.11.07 |
WM_USER 에 대하여. (0) | 2013.08.06 |
Dialog based program 에서 Menu 만들기. (0) | 2013.08.06 |
Device Context ( DC ) (1) | 2013.08.06 |