2011-03-10 103 views
2

這裏捲曲在C使用STL

http://curl.haxx.se/libcurl/c/getinmemory.html

給出的捲曲例子展示瞭如何獲得一個網址的記憶。我想改變上面的代碼在C++中使用,沒有太大的變化。我想用別的東西替換malloc並重新分配。有沒有辦法通過使用像列表或字符串向量的STL將網址保存到內存來獲得上述代碼的工作?

+4

看看這裏:http://www.luckyspin.org/?p=28 – Nick 2011-03-10 11:59:45

+0

你應該把這個作爲答案的人。thanx。 – 2011-03-10 12:05:51

回答

3

正如nick所指出的,luckyspin.org/?p=28給了我答案。

static int writer(char *data, size_t size, size_t nmemb, 
        std::string *buffer) 
{ 
    int result = 0; 

    if (buffer != NULL){ 
    buffer->append(data, size * nmemb); 
    result = size * nmemb; 
    } 

    return result; 
} 
+0

你可以使用std :: string .size()方法,所以'結果'不是真的需要。這將允許你返回void而不是int。 '靜態'意味着這個功能不能在翻譯單元之外使用,也不是真的需要。 – 2011-03-10 13:35:47