文件I/O主要内容是文件读写
read,write,lseek
lseek:主要设置偏移量
使用场景一:多个进程对同一份文件进行操作,此时需要对不同进程划分不同的偏移量,偏移量可以理解为文件内容的指针
使用场景二:获取一个文件的字节总数
read
write
原子操作:把多步骤合并成一个操作
使用场景:多个函数同时对同一个文件进行读写或者创建操作,此时会存在冲突
具体实例:pread函数(read+lseek函数合并)和 pwrite函数(write+lseek函数合并)
文件共享:通过各自的文件表项节点指针去访问同一个目标文件
函数dup和dup2
根据一个已有文件描述符,复制出一个新的文件描述符,新的描述符可以根据自己的文件表项中的指针去访问已有文件描述符的指针目标文件