C++ Can';t从appdata文件夹C++;
因此,我能够通过C++ Can';t从appdata文件夹C++;,c++,curl,appdata,C++,Curl,Appdata,因此,我能够通过SHGetKnownFolderPath获取AppData文件夹,并通过 SHGetKnownFolderPath(FOLDERID_RoamingAppData, NULL, NULL, &wszPath); _bstr_t bstrPath(wszPath); std::string strPath((char*)bstrPath); newstring.append(strPath); newstring.append(secondvar); 所以您可能注
SHGetKnownFolderPath
获取AppData
文件夹,并通过
SHGetKnownFolderPath(FOLDERID_RoamingAppData, NULL, NULL, &wszPath);
_bstr_t bstrPath(wszPath);
std::string strPath((char*)bstrPath);
newstring.append(strPath);
newstring.append(secondvar);
所以您可能注意到了newstring.append
。我要做的是将我想要的文件夹名和文件附加到AppData
位置的末尾,即C:\Users\*Username*\AppData\Roaming
(并在此处附加我的文件夹和文件)
然后我使用cURL
将文件从newstring
发送到名为sendfile
的cURL
函数,但是由于黑客攻击,我试图将内存地址转换为可读字符串,然后附加其他信息,然后得到一条堆损坏的消息
然后我尝试手动将目录和文件的路径放入cURL
函数cURL\u formadd
,但仍然无法工作。但是,如果应用程序所在的位置有一个文件,并使用它通过HTTP进行发送,则它可以工作。如果我向curl\u formadd
函数添加完整路径,即C:\Username*\AppData\Roaming\myfolder\myfile.txt,则不会发生任何事情
那么,我如何从我想要的目录中获取该文件,并将其与cURL
一起发送?您所说的“转换为可读字符串”是什么意思?SHGetKnownFolderPath返回一个指向保存appdata文件夹路径的变量的指针。因此,我转换为可读字符串。请提供更多代码。我想看看wszPath和newstring是如何定义的,它们是WCHAR*和std::string类型吗?请展示调用cURL的调用,我猜cURL是函数,还是类?代码中有不少于三种不同的字符串类型。问题也是如此。听起来像是要从文件夹中读取文件。您是否创建了myfolder文件夹?它有那个档案吗?“什么都没发生”是什么意思?该怎么办?不,我没有创建文件夹,但它在那里,文件也在那里。在通过cURL通过HTTP发送的无文件中,不会发生任何情况。应该发生的是,文件应该通过HTTP发送,但这不是因为cURL不想接受完整路径。