您的位置:首页 > 其它

调试常用方法

2013-07-09 09:04 253 查看
方法一 :WriteConsole

void NewConsole()
{
AllocConsole() ;
g_hStdOut = GetStdHandle(STD_OUTPUT_HANDLE) ;
TCHAR szText[] = _T("Debug Message...:\n") ;
WriteConsole(g_hStdOut, szText, wcslen(szText), NULL, NULL) ;
}


方法二:日志

#include <locale.h>

void MyLogs(LPCTSTR szLog, ...)
{
setlocale(LC_ALL , "" );
//格式化日志内容
CString csLogs;
va_list args;

va_start(args, szLog);
csLogs.FormatV(szLog, args);
va_end(args);

//拼接存储路径
CString strFullPath ;
TCHAR szPath[MAX_PATH] = { 0 };
TCHAR* lpChar = NULL;

::GetModuleFileName(NULL, szPath, MAX_PATH);
lpChar = _tcsrchr(szPath, '\\');
*lpChar = '\0';
strFullPath.Format(_T("%s\\Logs.log"),szPath);

//增加时为日志头
SYSTEMTIME tm;
::GetLocalTime(&tm);
TCHAR tmpbuf[100];
memset(tmpbuf, 0, 100);

FILE* afp = _tfopen(strFullPath,_T("a"));
if(afp)
{
_stprintf(tmpbuf, _T("%.4d-%.2d-%.2d_%.2d:%.2d:%.2d:%.2d"), tm.wYear, tm.wMonth, tm.wDay, tm.wHour, tm.wMinute, tm.wSecond, tm.wMilliseconds);
fwrite(tmpbuf, 1, _tcslen(tmpbuf)*sizeof(TCHAR), afp);
_fputts(csLogs,afp);
_fputts(_T("\n"),afp);
fclose(afp);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: