linux - 如果我设置的计数大于我通过 read() 系统调用读取的文件大小怎么办?

标签 linux assembly io nasm

我需要将常规文件读取到内存中,我不知道它的大小,但我知道它小于 4096*1024*4 字节。

  1. 我可以读取(fd, addr, 4096*1024*4)吗?
  2. 实际上我已经做到了,所以我的系统调用读取的内容比我预期的要少。这是可预测的行为还是我应该在代码中查找错误?

最佳答案

There no limit to the amount you can read in one call, except that you need a big enough buffer and you can't read past the end of a file. – Ross Ridge 9 mins ago

我想通了,我只是需要更大的缓冲区。

关于linux - 如果我设置的计数大于我通过 read() 系统调用读取的文件大小怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30292214/

相关文章:

linux - NASM x86_64 在编写命令行参数时遇到问题,在 rax 中返回 -14

java - 如何即时搜索/替换文件?

linux - 编辑一个大文件的第一行和最后一行

Android NDK cmake 编译程序集(*.s) 文件

linux - 在系统内安全存储加密 key 的 TPM 替代方案

c - 在可编程间隔计时器 (8254) 到期之前重新启动计数器

python - 为什么读取一个字节比从文件中读取 2、3、4……字节慢 20 倍?

c - 文件读取问题 - 平行版生命游戏

c++ - 为什么在这种情况下编译动态库会出错呢?

linux - 使用 glibc 使用 setgid 创建目录的最佳方法是什么