16,472
社区成员
发帖
与我相关
我的任务
分享
void Cmytest2View::MyPrintTest(TCHAR* pFormat,...)
{
//char* old_locale = _strdup(setlocale(LC_CTYPE,NULL));
//setlocale( LC_CTYPE, "chs" );//设定
TCHAR szz[400];
ZeroMemory(szz,400*sizeof(TCHAR));
va_list args;
va_start(args,pFormat);
swprintf_s(szz,400,pFormat,args);
va_end(args);
OutputDebugString(szz);
TRACE0("\n");
//setlocale(LC_CTYPE,old_locale);
}
void Cmytest2View::MyPrintTest2(char* pFormat,...)
{
char szz[400];
ZeroMemory(szz,400);
va_list args;
va_start(args,pFormat);
vsnprintf(szz,400,pFormat,args);
OutputDebugStringA(szz);
}
void _trace(const TCHAR*format, ...)
{
TCHAR buff[MAX_PATH];
va_list argptr;
va_start(argptr, format);
wvsprintf(buff, format, argptr);
va_end(argptr);
OutputDebugString(buff);
}
我这个可以
void MyPrintTest(WCHAR* pFormat,...)
{
WCHAR szz[100];
ZeroMemory(szz,100);
char *args = ((char*)&pFormat) + sizeof(char*);// + 4
wvsprintfW(szz,pFormat, args);
OutputDebugStringW(szz);
OutputDebugString("\r\n");
va_end(args);
}
// typedef char* va_list;
void MyPrintTestA(const char *fmt, ... )
{
char prompt[100];
char *args;
// after fmt
args = ((char*)&fmt) + sizeof(char*);// +4
vsprintf(prompt, fmt, args);
OutputDebugString(prompt);
OutputDebugString("\r\n");
}
//
void MyPrintTestW(WCHAR* pFormat,...)
{
WCHAR prompt[100];
// nomatter , format is char* ,or WCHAR* , the sizeof this pointer is 4 bytes !
char *args = ((char*)&pFormat) + sizeof(char*);// + 4
wvsprintfW(prompt,pFormat, args);
OutputDebugStringW(prompt);
OutputDebugStringW(L"\r\n");
}