C++ 在Linux上使用C+中的libcurl设置变量的绝对路径+;

C++ 在Linux上使用C+中的libcurl设置变量的绝对路径+;,c++,linux,libcurl,C++,Linux,Libcurl,如何使用变量在Linux上的libcurl中设置绝对路径 下面是一个示例代码: } string absolute_path = "/home/user_name"; CURL *curl; FILE *fp; CURLcode res; const char *url = "http://google.com"; const char outfilename[FILENAME_MAX] = absolute_path; curl =

如何使用变量在Linux上的libcurl中设置绝对路径

下面是一个示例代码:

   }
    string absolute_path = "/home/user_name";
    CURL *curl;
    FILE *fp;
    CURLcode res;
    const char *url = "http://google.com";
    const char outfilename[FILENAME_MAX] = absolute_path;
    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);
    }
但编译器返回此错误:

error: array must be initialized with a brace-enclosed initializer
有人知道怎么修吗?谢谢你的关注

使用
std::string
类型的
c_str()

e、 g

const char*outfilename=absolute_path.c_str()


另外,您是否有客观的理由声明const char数组

const char outfilename[FILENAME\u MAX]=绝对路径绝对不正确。实际上,您不需要
outfilename
变量。使用
fopen()
中的
absolute\u path.c\u str()
查看此链接,谢谢您的帮助!它解决了你的问题吗?我已经用user3159253的回复解决了我的问题。谢谢回复,但是我已经尝试过了,但是编译器返回了相同的错误。现在,我直接使用user3159253告诉我的方法fopen(),它可以工作。注:我犯了一个错误,我将变量声明为const char数组,因为我遇到了(例如,我必须将const char*url声明为const char才能使用变量!像这样一个简单的例子
std::string path=“myValue”;const char*src=path.c_str();
应该永远不会失败。显然,你还有另一个问题