利用C++写一个下载文件的代码放到线程里
时间: 2023-04-11 08:01:35 浏览: 88
好的,以下是一个简单的利用C语言写的下载文件的代码,可以放到线程中运行:
```c
#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>
void download_file(char *url, char *filename) {
CURL *curl;
FILE *fp;
CURLcode res;
curl = curl_easy_init();
if (curl) {
fp = fopen(filename, "wb");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
res = curl_easy_perform(curl);
if (res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
}
curl_easy_cleanup(curl);
fclose(fp);
}
}
int main() {
char *url = "http://example.com/file.zip";
char *filename = "file.zip";
download_file(url, filename);
return 0;
}
```
这个代码使用了libcurl库来进行文件下载,可以通过设置CURLOPT_URL选项来指定要下载的文件的URL,通过设置CURLOPT_WRITEDATA选项来指定要将文件内容写入的文件指针。在下载完成后,需要调用curl_easy_cleanup函数来释放资源,并关闭文件指针。