使用C ++中的libcurl在Linux上使用绝对路径保存文件

时间:2014-09-19 12:53:48

标签: c++ linux libcurl

如何从网络服务器下载文件,并将其保存在Linux上的特定路径中?

我使用过此代码(这是一个示例):

CURL *curl;
FILE *fp;
CURLcode res;
const char *url = "http://google.com";
char outfilename[FILENAME_MAX] = "\\home\\user_name\\";
curl = curl_easy_init();
if (curl)
{
    fp = fopen(outfilename,"wb");
    curl_easy_setopt(curl, CURLOPT_URL, url);
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
    res = curl_easy_perform(curl);
    curl_easy_cleanup(curl);
    fclose(fp);
}

但它并没有完美地运作,因为它只在工作目录中用名字中的绝对路径保存文件!

任何人都可以帮我解决这个问题吗? 谢谢你的关注!

1 个答案:

答案 0 :(得分:0)

你需要使用正斜杠,

char outfilename[FILENAME_MAX] = "/home/user_name/";