LINUX环境高级编程-第二讲文件.ppt

LINUX环境高级编程-第二讲文件.ppt

ID:49479270

大小:1.86 MB

页数:255页

时间:2020-02-25

LINUX环境高级编程-第二讲文件.ppt_第1页
LINUX环境高级编程-第二讲文件.ppt_第2页
LINUX环境高级编程-第二讲文件.ppt_第3页
LINUX环境高级编程-第二讲文件.ppt_第4页
LINUX环境高级编程-第二讲文件.ppt_第5页
资源描述:

《LINUX环境高级编程-第二讲文件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Linux环境高级编程第二讲文件的操作第二讲文件的操作文件I/O(第三章)文件和目录(第四章)第二讲文件的操作文件I/O(第三章)文件和目录(第四章)文件I/O文件的基本操作(打开、定位、读写、关闭)I/O效率文件共享其他重要I/O函数文件I/O文件的基本操作(打开、定位、读写、关闭)I/O效率文件共享其他重要I/O函数文件操作基本顺序打开open创建creat定位lseek读read写write关闭closeopen函数用于打开或者创建一个文件函数原型#includeintopen(constchar*pathname,intofl

2、ag,...)参数第一个参数pathname:要打开或者创建的文件名第二个参数oflag:用于指定文件打开模式、标志等信息。open函数第二个参数oflag:Linux头文件已经为文件打开模式、标志等定义了若干的宏oflag需要指定这些宏宏定义在/usr/include/bits/fcntl.h中在该头文件中,只读打开标志被定义为:#defineO_RDONLY00open函数oflag:文件打开模式标志以下三个标志必须指定一个且只能指定一个O_RDONLY:只读打开O_WRONLY:只写打开O_RDWR:读写打开其他文件标志下面的标志是可以选择的,可

3、通过C语言的或运算与文件打开标志进行组合open函数oflag其他文件标志:O_APPEND:每次写的数据都添加到文件尾O_TRUNC:若此文件存在,并以读写或只写打开,则文件长度为0O_CREAT:若文件不存在,则创建该文件。此时,open函数需要第三个参数,用于指定该文件的访问权限位(后面描述)O_EXCL:若同时指定了O_CREAT标志,而文件已经存在,则会出错。可用于测试文件是否存在open函数返回值intopen(constchar*pathname,intoflag,…)返回值:整型数据成功时,返回文件描述符出错时,返回-1open函数返回

4、值intopen(constchar*pathname,intoflag,…)返回值:整型数据成功时,返回文件描述符出错时,返回-1什么是文件描述符?open函数返回值intopen(constchar*pathname,intoflag,…)返回值:整型数据成功时,返回文件描述符出错时,返回-1什么是文件描述符?已打开文件的索引open函数返回值intopen(constchar*pathname,intoflag,…)返回值:整型数据成功时,返回文件描述符出错时,返回-1什么是文件描述符?已打开文件的索引通过索引找到已打开文件文件描述符文件描述符的

5、本质是什么?通过文件描述符怎么样能找到需访问的文件?需要了解进程打开文件时,内核创建或涉及到的一系列数据结构进程打开文件的内核数据结构task_struct.........files.......................files_structfd[0]fd[1]fd[2]fd[3]...........files_structfilef_posf_dentry文件标志............dentryd_inode索引节点号文件各信息inode..............进程打开文件的内核数据结构task_struct.........进

6、程控制块PCB进程打开文件的内核数据结构task_struct.........files.........structtask_struct{.............structfiles_struct*files;.............};进程打开文件的内核数据结构task_struct.........files...................files_structfiles_struct该结构体包含了:进程已打开文件表进程打开文件的内核数据结构task_struct.........files...................

7、....files_structfd[0]fd[1]fd[2]fd[3]files_struct..............structfile**fd;进程打开文件的内核数据结构task_struct.........files.......................files_structfd[0]fd[1]fd[2]fd[3]...........files_structfile..............文件对象:代表一个已打开的文件进程打开文件的内核数据结构task_struct.........files...............

8、........files_structfd[0]fd[1]fd[2]fd[3].......

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。