我想知道是否有人可以告诉我是否有一种方法可以在使用从 stdin 读取输入时动态分配缓冲区read(...)
例如:
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
,但在某些情况下,也许您需要解释数据本身)。如果有,那么你再读一次。等等。
由您来处理连接所有读取的数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)