存储增量下载数据的最佳方法是什么?

时间:2010-04-07 02:41:13

标签: c++ stl

Chromium's sha1 class的启发,我想使用std :: string

存储增量下载的数据
// pseudo-code
char buff[BUFF_SIZE];
std::string data;
do {
    size = ReadInternetFileTo(buff,BUFF_SIZE);
    data.append(buff,size);
} while (not_finished);

这种方法有任何可预见的问题或更好的方法吗?

2 个答案:

答案 0 :(得分:2)

SGI好老Rope似乎非常合适,如果您的数据很大并且您可以使用SGI的STL - 正如他们的文档所说,

  

与C字符串不同,绳索是一种   合理的代表性   长字符串,如编辑缓冲区或   邮件消息。

答案 1 :(得分:1)

应该没问题,但您可能需要考虑绳索而不是绳索。附加到绳索更有效,因为它不会保证所有字节都连续,这将需要重新分配。