使用 libcurl C++将文件下载到 Ubuntu,简单示例不起作用
Downloading a file to Ubuntu with libcurl C++, simple example doesn't work
我正在尝试将libcurl与C++一起使用,将单个图像文件下载到我的Ubuntu机器上。
我尝试复制并粘贴此问题中显示的简单示例:在 C/C++ 中使用 libcurl 下载文件
#include <stdio.h>
#include <curl/curl.h>
#include <string>
using namespace std;
size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream) {
size_t written = fwrite(ptr, size, nmemb, stream);
return written;
}
int main(void) {
CURL *curl;
FILE *fp;
CURLcode res;
const char *url = "https://i.imgur.com/mWj0yzI.jpg";
char outfilename[FILENAME_MAX] = "/home/my_username/test.jpg";
curl = curl_easy_init();
if (curl)
{
fp = fopen(outfilename,"wb");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
res = curl_easy_perform(curl);
/* always cleanup */
curl_easy_cleanup(curl);
fclose(fp);
}
return 0;
}
我希望它下载图像文件并将其保存为"test.jpg"在我的机器上。但是,当我运行此程序时,"test.jpg"的大小为 0 字节。显然,由于某种原因,图像没有写入文件。
我做错了什么?
您的链接未指向现有文件。有了正确的链接,它对我有用。试试这个:
const char *url = "https://i.imgur.com/oRtvmGT.jpg";
相关文章:
- 为什么简单的算术减法在"if"条件下不起作用?
- boost::spirit::x3 中的简单字符串解析器不起作用
- 将字符从一个字符串简单分配到另一个字符串不起作用
- 简单的二分搜索对我不起作用。我正在尝试从文本文件中搜索单词
- 将指针传递给函数在简单的情况下有效,但在"class" -izing 之后不起作用
- 使用 libcurl C++将文件下载到 Ubuntu,简单示例不起作用
- 为什么 SFINAE 在这个简单的成员函数重载中不起作用
- 一个'case'在简单的'switch'语句中不起作用
- QSETTINGS简单任务不起作用
- 为什么我的简单代码在C++中不起作用?
- 为什么这C++代码不起作用(简单)
- 为什么 std::cin.clear() 在这个简单的程序中不起作用?
- 为什么这个简单的循环不起作用
- 尝试使用cl_mem_use_host_ptr在OpenCL 1.1中创建一个简单的复制/粘贴值,为什么它不起作用
- 我简单的 c++ 文本游戏不起作用。我正在使用随机数生成,我很困惑
- 为什么这个使用未签名乘积的简单函数不起作用
- 为什么一个简单的bimap(std::string <-> int)不起作用?
- 为什么一个简单的字符*不起作用
- POCO C 简单表单提交样本不起作用
- 通过JNI调用简单的java静态方法是不起作用的,尽管c++编译并运行它