c++ WinInet InternetOpenUrl下载中文文件
windows自带的WinInet,几个函数就可以实现http文件下载,
且可获取文件大小,进度条等。
在用WinInet下载文件时,遇到个问题,
如果是中文,下载下来的文件大小为0
英文文件正常,为什么呢?
bool WWWFileBuffer(const char* host, const char* path, char* outBuffer, int outBufferSize)
{bool retval = false;LPCWSTR AcceptTypes[2] = { TEXT("*/*"), NULL };DWORD dwSize = outBufferSize - 1, dwFlags = INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_CACHE_WRITE;HINTERNET opn = NULL, con = NULL, req = NULL;opn = InternetOpen(TEXT("chuxintong.vip"), INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);if (!opn)return retval;int num = MultiByteToWideChar(0, 0, host, -1, NULL, 0);wchar_t* wide = new wchar_t[num];MultiByteToWideChar(0, 0, host, -1, wide, num);con = InternetConnect(opn, wide, INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INT