我正在玩一些汇编编程,并使用syscall sys_read
编写了一些代码,用于从stdin读取4096个字节。但是,它只从stdin读取大约120个字节。
为什么会这样?是否有任何系统级别设置,我可以更改,以便一次读取更多字节?有没有其他方法可以解决这个限制并强制程序或sys_read读取更多字节?
答案 0 :(得分:1)
stdin
可能是行缓冲的,您恰好在该位置有换行符吗?
但是,一般情况下,read
的回报率低于您要求的回报率。解决方案是循环读取,直到获得所需的所有字节为止。