0%

csapp IO

标准输入STDIN_FILENO=0 标准输出STDOUT_FILENO=1 标准错误 STDERR_FILENO=2
文件位置k=0

打开关闭

1
2
int open(char *filename, int flags, mode_t mode)
int close(int fd)

读写

1
2
ssize_t read (int fd, void *buf, size_t n) //从fd读取n个byte到buf里
ssize_t write(int fd, const void *buf, size_t n)

ssize_t是int而size_t是unsigned int

Rio(Robust io)

1
2
ssize_t rio_readn (int fd, void *usrbuf, size_t n)
ssize_t rio_writen (int fd, void *usrbuf, size_t n)

读取文件元数据

1
2
int stat(const char *filename , struct stat *buf)
int fstat(int fd, struct stat *buf)

内核处理

io
io-share
io-subthread

重定向

1
int dup2(int oldfd, int new fd)

io-dup2

所有函数

io-apis