error C2065: '_tcstoi64' : undeclared identifier

I aim to use _tcstoi64 to convert a char* buffer to __int64. but compile cannot pass.

error C2065: '_tcstoi64' : undeclared identifier _tcstoi64 is defined in TCHAR.h and I've already include TCHAR.h

I am using VC++ 6.0 SP6 with PSDK 2003 Feberary with _UNICODE defined.

my code:

#include <stdlib.h>
#include <TCHAR.H>
//..
__int64 iVal = _tcstoi64(szTest, NULL, 16);

众所周知CRT函数_ttoi64可以字符串转为数字,但仅限于十进制字符串。像0x34BF就没辙了。这个时候可以使用_tcstoi64第三个参数来指定进制。但是在VC6里面报错_tcstoi64未识别的标识符。原因是VC6的CRT库函数里面根本就没有这个函数! 不信请看下图。左边是VC6的TCHAR.H,右边是VC10的TCHAR.H凡是后面加了64的都没有支持。想想98年VC6出道的时候哪来神马64位哦。吼吼。。。

tcstoi64

参见MS Answer解答。

标签: MFC, 调试

添加新评论