16,548
社区成员




#include "stdafx.h"
#include "log.h"
#include <tchar.h>
#ifndef NDEBUG
void dump(PBYTE buf, int len)
{
DWORD dwOffset = 0;
PBYTE p = buf;
TCHAR line[MAX_PATH];
//TCHAR dot = '.';
while (p < buf + len)
{
TCHAR * ptr = line;
for (int i = 0; i < 16; i++)
{
if (p + i < buf + len)
ptr += _stprintf_s(ptr, line + MAX_PATH - ptr ,__T"%02X ", p[i]);
else
ptr += _stprintf_s(ptr, line + MAX_PATH - ptr ,_T" ");
}
for (int i = 0; i < 16; i++)
{
if (p + i < buf + len)
ptr += _stprintf_s(ptr,line + MAX_PATH - ptr, _T"%c", _istprint(p[i]) ? p[i] : _T'.');
//ptr += swprintf_s(ptr,line + MAX_PATH - ptr, L"%c", p[i]);
else
ptr += _stprintf_s(ptr,line + MAX_PATH - ptr, _T" ");
}
// log("%08X %08X %s\n", dwOffset, p, line);
log(_T"%08X %s\n", dwOffset, line);
p += 16;
dwOffset += 16;
}
}