我想知道是否有人可以告诉我在使用 read(...)
从 stdin 读取输入时是否有动态分配缓冲区的方法
例如:
n = read(0, buffer, sizeof ?);
如何确保从 stdin
(此处为 0)读取的字节数与在缓冲区
?
最佳答案
你不能。您对固定大小的缓冲区执行 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/