2011-03-10 89 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