error C2065: “_T”: 未声明的标识符 小弟我明明已经包含了tchar.h头了

error C2065: “_T”: 未声明的标识符 我明明已经包含了tchar.h头了
本帖最后由 VisualEleven 于 2012-10-23 07:45:14 编辑
如题,本来生成的时候就已经在stdafx.h中包含tchar.h的
我还在我的cpp文件中又包含一次,还是没用,提示_T未申明
但是如TCHAR的变量定义却没报错,这是为什么?
代码如下:

#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;
}
}

------解决方案--------------------
使用帮助



------解决方案--------------------
引用:
懂了,自己结贴把,看tchar.h的宏定义,居然要包括号!!!

_T("XXXX")这样写~
------解决方案--------------------
__T"%02X "这里还写成了__T

------解决方案--------------------
引用: