目前我正在尝试将QString
转换为将LPCWSTR
中使用的URLDownloadToFile()
。以下是我当前代码的简单版本:
QString url = "http://whatever_file...";
HRESULT hRez = URLDownloadToFile(NULL, (LPCWSTR)url.toLocal8Bit().constData(), TEXT("C:\\etc..."), 0, NULL);
我发现转换在QString
转换为LPCWSTR
的过程中找到了效果。我在编程领域相当新,我只是在URLDownloadToFile
需要的时候给该解决方案添加了一封信。它没有返回错误,但下载失败。
我在这里缺少什么?
答案 0 :(得分:3)
要从QString获取LPCWSTR,您可以使用QString::constData方法,因为QChar是2字节Unicode符号,与WCHAR完全相同(如果wchar_t在目标计算机上是2字节)。
我知道你使用" TEXT"与" LPCWSTR"在一行中的宏。你应该使用" L"代替。
" TEXT"创建用于与" LPCTSTR"成对使用宏。您可以阅读有关它们的this 。