我编写了代码,适用于最高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);
请给我答案。
答案 0 :(得分:0)
尝试在命令行中尝试curl -V
。如果生成的文本不包含单词Largefile
,那么您使用的curl版本不支持大于2 GB的文件大小。