我想知道是否有人可以告诉我在使用 read(...) 从 stdin 读取输入时是否有办法动态分配缓冲区
例如:
n = read(0, buffer, sizeof ?); 如何确保从 stdin(此处为 0)读取的字节数与 buffer 中的相同?

最佳答案

你不能。您将 read 放入固定大小的缓冲区,例如:

char buf[BUF_SIZE];
int num_read = read(0, buf, BUF_SIZE);

然后确定是否还有更多可用数据(通常通过检查 num_read 是否等于 BUF_SIZE ,但在某些情况下,您可能需要解释数据本身)。如果有,那么你再读一遍。等等。

由您来处理连接所有读取的数据。

关于c - 使用 read(..) 从 stdin 读取并计算缓冲区的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7503399/

10-11 23:12
查看更多