【发布时间】:2009-10-07 14:34:59
【问题描述】:
我在 Visual c++ 中有 win32 API 应用程序。我想在应用程序公共数据目录中创建一个目录。我有生成以下错误的代码。我也尝试在字符串末尾添加'\0',但出现同样的错误。
调试断言失败! 表达式:(L“String is not NULL terminate” && 0);
代码:
TCHAR AppDir[MAX_PATH]; TCHAR 设置路径[MAX_PATH];
ITEMIDLIST* pidl; HRESULT hRes = SHGetSpecialFolderLocation(NULL, CSIDL_COMMON_APPDATA|CSIDL_FLAG_CREATE,&pidl); 如果 (hRes==NOERROR) { SHGetPathFromIDList(pidl, AppDir); }
strcpy_s(SetPath,AppDir);
::strcat_s(SetPath,"\Keylogger"); ::SHCreateDirectoryExW(hWnd,(LPCWSTR)SetPath,NULL);
::strcat_s(SetPath,"\SnapShot"); ::SHCreateDirectoryExW(hWnd,(LPCWSTR)SetPath,NULL);
【问题讨论】:
标签: api visual-c++ winapi