C以字节块的形式读取文件

时间:2015-02-03 02:33:39

标签: c unix

找不到相关的正确文档,但我试图使用* nix系统调用read()读取文件。我希望用1024字节的块读取文件。不确定我下面的内容是否正确:

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

有人可以验证吗?

1 个答案:

答案 0 :(得分:1)

如果您无法使用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 );