[CS:APP]程序间的交互和通信

时间:2020-05-02 21:19:41   收藏:0   阅读:80

输入、输出、文件的概念

技术图片

LInux内核IO函数

Linux系统使用由操作系统内核提供的系统级Unix I/O函数实现IO

打开文件

#include <sys/types.h> //操作系统的基本数据类型
#include <sys/stat.h> //文件的全部属性
#include <fcntl.h> //控制描述符
int open(char *filename,int flags,mode_t mode);//将filename转为文件描述符
mode_t umask(mode_t mask);

关闭文件

应用程序要求内核关闭文件、由内核释放文件打开时创建的数据结构、描述符变为当前未被打开的描述符、当进程结束时也可自动调用关闭所有文件并释放内存资源、当前文件位置k=0

改变当前文件位置k

对于每个打开的文件、内核中始终保持一个文件位置k(从文件开头起始的字节偏移量、初始值为0)

读取文件

从m个字节的文件当前位置k,复制n个字节到内存,并将文件当前位置更新为k+n。当k≥m时,会触发EOF条件

写入文件

从文件的当前位置k开始,把内存的n个字节复制,并将文件当前位置更新为k+n

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!