error C2065: 'StringCchPrintfW' : undeclared identifier
我已经去官方,下了最新的SDK,而且在VC的INCLUDE 目录里也设置了相关的目录
E:\PROGRAM FILES\MICROSOFT PLATFORM SDK\INCLUDE
E:\PROGRAM FILES\MICROSOFT PLATFORM SDK\INCLUDE\ATL
E:\PROGRAM FILES\MICROSOFT PLATFORM SDK\INCLUDE\CRT

这是LIB文件的设置顺序
E:\PROGRAM FILES\MICROSOFT PLATFORM SDK\LIB
E:\PROGRAM FILES\MICROSOFT PLATFORM SDK\LIB\AMD64

包含头文件
#include <windowsx.h>
#include <stdio.h>
#include <tchar.h>
#include <malloc.h>        
#include <TlHelp32.h>
#include <strsafe.h> //'StringCchPrintfW' 的头文件
为什么编译时总是说
error C2065: 'StringCchPrintfW' : undeclared identifier、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
StringCchPrintfW(pszLibFileW, cchSize, L"%S", pszLibFile);
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、求救啊,捣鼓了一下午,都没捣鼓好,郁闷~~

解决方案 »

  1.   

    你的字符集是啥呀
    StringCchPrintfW (Unicode)
    StringCchPrintfA (ANSI)
      

  2.   

    是将ANSI 转换成 UNICODE的
    pszLibFile这个是ASNI字符串

             SIZE_T cchSize = lstrlenA(pszLibFile) + 1;
    PWSTR pszLibFileW = (PWSTR) 
    malloc(cchSize * sizeof(wchar_t));
    // Convert the ANSI pathname to its Unicode equivalent
    int i= MultiByteToWideChar(CP_SYMBOL,0,pszLibFile,cchSize,pszLibFileW,cchSize);
    StringCchPrintfW(pszLibFileW, cchSize, L"%S"/*, pszLibFile*/);