【发布时间】:2015-02-28 07:43:14
【问题描述】:
我在使用 CreateDirectory 函数时遇到了困难。在下面的代码中,我得到一个 “无法将参数 1 从 'const char *' 转换为 'LPCWSTR'” CreateDirectory 调用的编译错误。
// make path to folder in program data
char szPath[MAX_PATH];
if ( ! SUCCEEDED( SHGetFolderPathA( NULL, CSIDL_COMMON_APPDATA, NULL, 0, szPath ) ) )
{
std::cout << "ERROR: Could not open server log - no common data folder " << std::endl;
exit(1);
}
std::string fname = szPath;
fname +="/Point";
CreateDirectory( fname.c_str(), NULL);
我正在使用 Visual Studio 2015 并且有“字符集 = 使用 Unicode 字符集”。
在fileapi.h中定义如下:
#ifdef UNICODE
#define CreateDirectory CreateDirectoryW
#else
#define CreateDirectory CreateDirectoryA
#endif // !UNICODE
所以我认为正在使用 CreateDirectoryW 函数
我需要做什么才能正确编译?
【问题讨论】:
标签: c++ visual-studio