Application_developing/C++ 2011/04/22 14:06
VS 2010 에서 ATL 프로젝트로 만들어서
Cstring 쓰는데 char 변환할려고 하니짜증나는 코드들이많아
걍 만듬..
char* CstringToChar(CString Cstr)
{
char *charBuffer = (char *)malloc(Cstr.GetLength() * sizeof(char));
sprintf_s(charBuffer, (Cstr.GetLength()+1) * sizeof(char), "%S", (char*)(LPCTSTR)Cstr);
return charBuffer;
}
이 글에는 트랙백을 보낼 수 없습니다
Трафик | 2013/06/30 20:03
감사합니다
붕어요정 | 2011/08/26 16:09
함수내에서 malloc쓰면 잠재적인 memory leak을 유발하는 코드를 만들수 있으니 CString2Char(CString str, char *p)
{
if(p == NULL) return NULL;
sprintf_s(p, (Cstr.GetLength()+1) * sizeof(char), "%s", (char*)(LPCTSTR)Cstr);
return p;
}
하는것이 좆지 않을까해요.
외부에서 명시적으로 할당하여 free까지 마무리 지을수 있게끔요
범용성을 고려해봤습니다.
즐거운 하루 되세요
{
if(p == NULL) return NULL;
sprintf_s(p, (Cstr.GetLength()+1) * sizeof(char), "%s", (char*)(LPCTSTR)Cstr);
return p;
}
하는것이 좆지 않을까해요.
외부에서 명시적으로 할당하여 free까지 마무리 지을수 있게끔요
범용성을 고려해봤습니다.
즐거운 하루 되세요
|
웅쓰 | 2012/01/25 17:07
네 좋네요 범용성 추천드립니다 ^.,^
|
|


0