如何在C ++中使用vector作为socket的输入缓冲区

时间:2011-06-21 05:59:32

标签: c++

我通常设置一个巨大的缓冲区并从套接字读取数据,我意识到这不是一个读取数据的好方法。

我曾经有类似的东西

int bufsize = 4096;
char *buf;
int recv = read(sock, buf, bufsize)

我喜欢使用std :: vector来替换char缓冲区。我不确定这是更好的方法。

您能否提供关于此的示例教程或示例?

提前致谢...

1 个答案:

答案 0 :(得分:6)

这很简单:

std::vector<char> buf(4096); // create buffer with preallocated size
int recv = read( sock, &buf[0], buf.size() );