我已经编写了代码,它适用于最大 2 GB 的数据下载。如果数据大于 2GB,它将不起作用..请告诉我解决方案,因为我发现了很多但没有得到适当的答案。
我正在编写一些小代码片段以供参考。它不是完整代码...我认为目标目标文件系统是 EXT4。
curl_global_init(CURL_GLOBAL_ALL);
m_curl = curl_easy_init();
curl_easy_setopt(m_curl, CURLOPT_LOW_SPEED_LIMIT,1048L);
curl_easy_setopt(m_curl, CURLOPT_LOW_SPEED_TIME, 30L);
curl_easy_setopt(m_curl, CURLOPT_WRITEFUNCTION, write_data);
size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream) {
size_t written;
written = fwrite(ptr, size, nmemb, stream);
return written;
}
curl_easy_setopt(m_curl, CURLOPT_WRITEDATA, fp);
curl_easy_setopt(m_curl, CURLOPT_WRITEHEADER, NULL);
curl_easy_setopt(m_curl, CURLOPT_NOPROGRESS, 0L);
curl_easy_setopt(m_curl, CURLOPT_SSL_VERIFYHOST, 0L);
curl_easy_setopt(m_curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(m_curl, CURLOPT_VERBOSE, 1L);
curl_easy_setopt(m_curl, CURLOPT_NOSIGNAL, 1L);
curl_easy_setopt(m_curl, CURLOPT_FOLLOWLOCATION, 1L);
请给我答案。