C++ 在Linux上使用C+中的libcurl设置变量的绝对路径+;
如何使用变量在Linux上的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 =
}
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();
应该永远不会失败。显然,你还有另一个问题