找不到相关的正确文档,但我试图使用* nix系统调用read()读取文件。我希望用1024字节的块读取文件。不确定我下面的内容是否正确:
while (read(fd, buffer+i, 1024) == 1){
i++;
}
有人可以验证吗?
答案 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 );