【发布时间】:2014-04-09 08:16:11
【问题描述】:
我正在玩一些汇编编程并编写了一些代码,使用系统调用sys_read 从标准输入读取 4096 字节。但是,它只能从标准输入读取大约 120 个字节。
为什么会这样?是否可以更改任何系统级别设置以便一次读取更多字节?有没有其他方法可以绕过这个限制并强制程序或 sys_read 读取更多字节?
【问题讨论】:
我正在玩一些汇编编程并编写了一些代码,使用系统调用sys_read 从标准输入读取 4096 字节。但是,它只能从标准输入读取大约 120 个字节。
为什么会这样?是否可以更改任何系统级别设置以便一次读取更多字节?有没有其他方法可以绕过这个限制并强制程序或 sys_read 读取更多字节?
【问题讨论】:
stdin 可能是行缓冲的,你碰巧在那个位置有换行吗?
但是,一般而言,read 允许返回的数量少于您的要求。解决方案是循环读取,直到获得所需的所有字节。
【讨论】: