我只是试图将文件的数据读取到内存中,但是我希望我的程序使用尽可能少的系统调用。这意味着我试图避免开放或开放。我只想使用阅读。但是我不知道该怎么做。有人可以帮我吗?
谢谢!
答案 0 :(得分:3)
read
需要一个打开的文件描述符,除非调用open
或openat
,否则您就无法获取该文件描述符,唯一的例外是如果您从stdin
中读取(fd 0)
已更新以添加:
谢谢@Yunnosch的建议。怎么样:
http://pubs.opengroup.org/onlinepubs/009695399/functions/read.html
NAME
pread, read - read from a file
简介
#include <unistd.h>
[XSI] [Option Start] ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset); [Option End]
ssize_t read(int fildes, void *buf, size_t nbyte);
说明
The read() function shall attempt to read nbyte bytes from the file associated with the open file descriptor, fildes, into the buffer pointed to by buf.