C以字节块读取文件

C read file in byte chunks

找不到关于此的适当文档,但我正在尝试使用 *nix 系统调用 read() 读取文件。我想以 1024 字节的块读取文件。不确定我下面的内容是否正确:

while (read(fd, buffer+i, 1024) == 1){
            i++;
}

有人可以验证一下吗?

如果您不能使用 man,为什么不直接搜索 it

反正你用错了。如果你想分块阅读,你应该这样做

// consider that we allocated enough memory for buffer
// and buffer is byte array
ssize_t r = 0, i = 0;
do {
  r = read( fd, buffer + i, 1024 ); // try to read 1024 bytes
  i += r; 
} while( r > 0 );