我正在尝试获取本地Appdata文件夹,并将其存储在字符串中。我似乎对我的变量做错了,因为当我尝试将文件夹路径存储到字符串中时,我收到了访问冲突。
代码:
PSTR buffer;
HRESULT hRes = SHGetSpecialFolderPathA(NULL, buffer, CSIDL_APPDATA, FALSE);
std::string executingPathFolder = buffer;
答案 0 :(得分:0)
让我们看一下MSDN
lpszPath [out]
指向以null结尾的字符串的指针,该字符串接收指定文件夹的驱动器和路径。此缓冲区的大小必须至少为MAX_PATH个字符。
你必须小心WinAPI - 一些返回缓冲区的方法会分配它们,有些像写入分配的缓冲区。请看这里如何从LPSTR How do I convert from LPCTSTR to std::string?
构造std :: string