linux - 限制在 sys_read 上读取的字符数

标签 linux assembly x86 nasm

我正在尝试一些汇编编程,并编写了一些代码以使用系统调用 sys_read 从 stdin 读取 4096 字节。但是,它只从标准输入读取大约 120 个字节。

为什么会这样?有没有我可以更改的系统级设置,以便一次读取更多字节?有没有其他方法可以绕过此限制并强制程序或 sys_read 读取更多字节?

最佳答案

stdin 可能是行缓冲的,你碰巧在那个位置有一个换行符吗? 然而,一般来说,read 允许返回少于您要求的返回值。解决方案是循环读取,直到获得所需的所有字节。

关于linux - 限制在 sys_read 上读取的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22956642/

相关文章:

c - 如何在 Linux 上硬编码动态库路径

c - 纯 DOS 中的重置和关机(不是 Windows 中的命令提示符)

c - 我在哪里可以找到系统调用源代码?

linux - 分配给SLURM作业的核心

linux - 使用 ssh 启用无密码身份验证

assembly - 为什么内存部分命名法以 '.' 为前缀

c - 在 x86 上对 32 位 block 实现类似学校的划分

c++ - 在 C++ 中进行基本 128 位整数计算的有效方法?

FXSAVE 能否在 FXRSTOR 之前执行两次?

php - 从 php 运行长 SAS 存储过程而无需挂起浏览器