我正在尝试一些汇编编程,并编写了一些代码以使用系统调用 sys_read
从 stdin 读取 4096 字节。但是,它只从标准输入读取大约 120 个字节。
为什么会这样?有没有我可以更改的系统级设置,以便一次读取更多字节?有没有其他方法可以绕过此限制并强制程序或 sys_read 读取更多字节?
最佳答案
stdin
可能是行缓冲的,你碰巧在那个位置有一个换行符吗?
然而,一般来说,read
允许返回少于您要求的返回值。解决方案是循环读取,直到获得所需的所有字节。
关于linux - 限制在 sys_read 上读取的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22956642/