我尝试使用目前正在运行的URLDownloadToFile()
下载文件,但是我遇到了回调函数问题并将回调输出wszStatusText写入文件。
以下是解决问题的功能:
HRESULT DownloadStatus::OnProgress(ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR wszStatusText)
{
fstream myfile;
myfile.open("file.txt", ios::app);
// this prints hex
myfile << " StatusText: " << wszStatusText;
myfile.close();
// this prints the string properly
MessageBox(NULL, wszStatusText, L"test", MB_OK);
return S_OK;
}
问题是MessageBox()
正在正确显示数据......
更新
收到异常错误后(使用wfstream
)我发现它之所以给我这一点,是因为wszStatusText
的第一个值为NULL。
答案 0 :(得分:2)
您正在将宽字符C字符串传递给窄字符流。没有很好的自动转换,所以你只需要一个指针地址。
改为使用std::wfstream
。