欢迎来到天天文库
浏览记录
ID:49479270
大小:1.86 MB
页数:255页
时间:2020-02-25
《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].......
此文档下载收益归作者所有