C++编译时出现字符串转换错误,求解决
以下是源代码
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <urlmon.h>
#include <windows.h>
#include <bits/stdc++.h>
#pragma comment(lib, "urlmon.lib")
using namespace std;
bool DownloadFiles(const wchar_t url[], const wchar_t downloadPath[])
{
if (URLDownloadToFile(NULL, url, downloadPath, 0, NULL) == S_OK) return true; //在第二个NULL处出错
else return false;
}
int main(void)
{
wchar_t url[] = L"https://music.163.com/song/media/outer/url?id=512377039.mp3";
wchar_t to[] = L"D:\\";
cout<<"..."<<endl;
if (DownloadFiles( url , to)) printf("OK!\n");
else printf("Error!\n");
return 0;
}
出错信息:
cannot convert 'const wchar_t*' to 'LPCSTR {aka const char*}' for argument '2' to 'HRESULT URLDownloadToFileA(LPUNKNOWN, LPCSTR, LPCSTR, DWORD, LPBINDSTATUSCALLBACK)'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
URLDownloadToFile
->URLDownloadToFileW
我猜的,没测试过,大概行吧。