항상 헷갈리는 이슈.

 

유니코드 환경에서 WCHAR을 사용하곤하지만,

CString의 편리함을 잊을수 없기에.. 

 

하기처럼 define해 놓고 쓰면 편하다.

 

CString -> string

#define CSTR2STR(s) ((string)CT2CA(s.operator LPCWSTR()))

 

string -> CString   %S 대문자로 기록하면 변환가능

CString szBuf;

string sz;

szBuf.Format("%S", sz.c_str());

 

[MSDN에서 발췌]

// 가변인자로 받아 처리하기

Requirements

Header Use for

cstringt.h MFC-only string objects
atlstr.h Non-MFC string objects

void WriteString(LPCTSTR pstrFormat, ...)
{
CString str;

// format and write the data you were given
va_list args;
va_start(args, pstrFormat);

str.FormatV(pstrFormat, args);
va_end(args);

_tprintf_s(str);
return;
}

+ Recent posts