将套接字的 read() 输出存储在 char 变量中

Storing the output of read() from a socket in a char variable

本文关键字:存储 char 变量 输出 套接字 read      更新时间:2023-10-16

在 char 变量中存储 Socket 的 read() 或 recv() 操作输出的最简单方法是什么?

我正在将一段文本从客户端传递到服务器,需要将其读取到一个 char 变量中,然后该变量将显示并在应用程序下方进一步使用。

如果您从套接字读取,只需将 char 缓冲区的地址作为第二个参数传递给read()(如果您使用其中任何一个,则传递 recv()recvfrom() 的第二个参数)。

你可以尝试这样的事情:

char buf[1024];
ssize_t n = read(fd, buf, sizeof(buf));

不要忘记检查并解释返回值n

如果要传递数据,还可以使用vector

std::vector<char> buf(1024);
ssize_t n = read(fd, buf.data(), buf.size());