read
требует дескриптора открытого файла, который вы не можете получить, не вызвав ни open
, ни openat
, за исключением того, что вы читаете из stdin
(fd 0).
Обновлено для добавления:
Спасибо @Yunnosch за предложение. Как насчет этого:
http://pubs.opengroup.org/onlinepubs/009695399/functions/read.html
ИМЯ
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.