2014-09-19 63 views
1

如何從Web服務器下載文件並將其保存在Linux上的特定路徑中?在Linux上使用libcurl在Linux中保存絕對路徑的文件

我已經使用這個代碼(這是一個expample):

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); 
} 

但它並不完美,因爲它保存的絕對路徑的文件在他的名字只在工作目錄!

任何人都可以幫我解決這個問題嗎? 感謝您的關注!

回答

0

你需要使用正斜槓,我想

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

謝謝!有用!但是,我怎樣才能將文件保存在主目錄「/」? (例如:/text.txt) – Maury 2014-09-19 13:02:55

+0

通常,一個不寫入根節點'/',因爲這需要root權限。即您需要以'root'用戶身份運行該命令。 (例如'sudo。/ a.out') – Sebastian 2014-09-19 13:04:09

+0

再次感謝!最後一個問題:我如何使用變量來指定絕對路徑? 它說我錯了:數組必須用大括號初始化器初始化! – Maury 2014-09-19 13:07:56

相關問題