面试真题

操作系统 · 简单 · 百度

Linux 的 `read` 和 `write`

简单 操作系统 🎤 百度
参考答案
结论:read/write是POSIX标准文件I/O系统调用,操作文件描述符。原理:#include <unistd.h>;read从fd读数据到buf,原型 ssize_t read(int fd, void *buf, size_t count),返回实际字节数,0为文件尾,-1出错;write从buf写至fd,原型 ssize_t write(int fd, const void *buf, size_t count),返回写入数。要点:1. 均可能返回少于请求值(如管道满、信号中断);2. 非阻塞fd遇资源不足返回-1且errno=EAGAIN;3. 读写普通文件通常原子但混合使用需注意偏移。示例:int n=read(fd,buf,sizeof(buf)); 用于底层流式处理。
题目整理自公开面经,答案由校招宝自研生成,仅供参考