有没有一种 C/C++ 的方法,可以使用 read() 从套接字读取数据,并让接收缓冲区成为一个文件(例如 ofstream)或类似的自扩展对象(如 vector)?
编辑:这个问题是在我考虑如何读取可能接收到某个 10000+ 字节文件内容的流式套接字时出现的。我不喜欢将 20000 或 50000 字节(足够大了)放在堆栈上作为缓冲区,以便可以将文件暂时存储起来,然后再将其插入到文件中。为什么不直接将其流式传输到文件中呢?
就像你可以获取 std::string 中的 char* 一样,我想到了像下面这样的东西
编辑:这个问题是在我考虑如何读取可能接收到某个 10000+ 字节文件内容的流式套接字时出现的。我不喜欢将 20000 或 50000 字节(足够大了)放在堆栈上作为缓冲区,以便可以将文件暂时存储起来,然后再将其插入到文件中。为什么不直接将其流式传输到文件中呢?
就像你可以获取 std::string 中的 char* 一样,我想到了像下面这样的东西
read( int fd, outFile.front(), std::npos ); // npos = INT_MAX
or something like that.
end edit
Thanks.