我想知道是否有人可以告诉我在使用 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/