目前,我正在尝试将QString
转换为将在LPCWSTR
中使用的URLDownloadToFile()
。以下是我当前代码的简单版本:
QString url = "http://whatever_file...";
HRESULT hRez = URLDownloadToFile(NULL, (LPCWSTR)url.toLocal8Bit().constData(), TEXT("C:\\etc..."), 0, NULL);
在我找到的帖子中,将
QString
转换为LPCWSTR
时发现该转换有效。我是编程领域的新手,我只是在URLDownloadToFile
要求下向该解决方案添加了一封信。它没有返回错误,但是下载失败。我在这里想念什么?
最佳答案
要从QString获得LPCWSTR,可以使用QString::constData方法,因为QChar是2字节Unicode符号,与WCHAR完全相同(如果wchar_t在目标计算机上是2字节)。
而且,通过将“ TEXT”宏与“ LPCWSTR”一起使用,我知道了。您应该改用“ L”。
创建“ TEXT”以与“ LPCTSTR”宏配对使用。您可以阅读有关它们的this 。
关于c++ - 将QString转换为LPCWSTR qt c++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27045890/