2013-08-23 75 views
0

我是cURL的新手,需要它來完成我的任務。我爲此使用C++。URL變量傳入捲曲

我有這個特別的線,它工作正常。

curl_easy_setopt(curl, CURLOPT_URL, "http://www.google.com"); 

但我的問題發生在我修改URL到變量中。即

string URL = "http://www.google.com"; 
curl_easy_setopt(curl, CURLOPT_URL, URL); 

我的程序崩潰了。任何人都可以指出我的錯誤是什麼?

回答

3

CURLOPT_URL:傳遞一個指向實際URL的指針來處理。該參數應該是一個char *爲零結尾的字符串...

如果你持有的std::string變量,你應該使用std::string::c_str()的URL。

std::string URL = "http://www.google.com"; 
curl_easy_setopt(curl, CURLOPT_URL, URL.c_str()); 
+0

它的工作原理,非常感謝你。但是,你能向我解釋什麼是「應該是char *到零終止字符串」的意思 –

+0

@PohSun http://en.wikipedia.org/wiki/Null-terminated_string – hansmaad