카테고리 없음

가변인자 사용시 문자열 길이 구하기

좋은나무 2014. 6. 13. 10:37

// 가변인자를 사용한 디버깅 로그 쓰기 예시


void WriteLog(LPCTSTR pszFmt, ...)

{

va_list argList;

va_start(argList, pszFmt);


// 가변인자 사용시 문자열 길이 구하기

int nLength = _vsctprintf(pszFmt, argList);


// 버퍼 메모리 할당

TCHAR * szLog = new TCHAR[(nLength+1)*sizeof(TCHAR)];


// 로그 문자열 생성

_vstprintf_s(szLog, (nLength+1)*sizeof(TCHAR), pszFmt, argList);


va_end(argList);


// 디버깅 로그 쓰기

::OutputDebugString(szLog);

::OutputDebugString(_T("\n"));


// 버퍼 메모리 해제

delete [] szLog;

szLog = NULL;

}