Linux系统函数调用文件操作篇.pdf

Linux系统函数调用文件操作篇.pdf

ID:51494902

大小:100.37 KB

页数:9页

时间:2020-03-25

Linux系统函数调用文件操作篇.pdf_第1页
Linux系统函数调用文件操作篇.pdf_第2页
Linux系统函数调用文件操作篇.pdf_第3页
Linux系统函数调用文件操作篇.pdf_第4页
Linux系统函数调用文件操作篇.pdf_第5页
资源描述:

《Linux系统函数调用文件操作篇.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、UntitledDocument页码,1/9close(关闭文件)相关函数open,fcntl,shutdown,unlink,fclose表头文件#include定义函数intclose(intfd);函数说明当使用完文件后若已不再需要则可使用close()关闭该文件,二close()会让数据写回磁盘,并释放该文件所占用的资源。参数fd为先前由open()或creat()所返回的文件描述词。返回值若文件顺利关闭则返回0,发生错误时返回-1。错误代码EBADF参数fd非有效的文件描述词或该文件已关闭。附加说明虽然在进程结束时,系统会自动关闭已打开的文件,

2、但仍建议自行关闭文件,并确实检查返回值。范例参考open()creat(建立文件)相关函数read,write,fcntl,close,link,stat,umask,unlink,fopen表头文件#include#include#include定义函数intcreat(constchar*pathname,mode_tmode);函数说明参数pathname指向欲建立的文件路径字符串。Creat()相当于使用下列的调用方式调用open()open(constchar*pathname,(O_CREAT

3、

4、O_WRONLY

5、O_TRUNC));错误代码关于参数mode请参考open()函数。返回值creat()会返回新的文件描述词,若有错误发生则会返回-1,并把错误代码设给errno。EEXIST参数pathname所指的文件已存在。EACCESS参数pathname所指定的文件不符合所要求测试的权限EROFS欲打开写入权限的文件存在于只读文件系统内EFAULT参数pathname指针超出可存取的内存空间EINVAL参数mode不正确。ENAMETOOLONG参数pathname太长。ENOTDIR参数pathname为一目录ENOMEM核心内存不足ELOOP参数pathna

6、me有过多符号连接问题。EMFILE已达到进程可同时打开的文件数上限ENFILE已达到系统可同时打开的文件数上限file://D:linux_cfunction9.html2004-1-9UntitledDocument页码,2/9附加说明creat()无法建立特别的装置文件,如果需要请使用mknod()。范例请参考open()。dup(复制文件描述词)相关函数open,close,fcntl,dup2表头文件#include定义函数intdup(intoldfd);函数说明dup()用来复制参数oldfd所指的文件描述词,并将它返回。此新的文件

7、描述词和参数oldfd指的是同一个文件,共享所有的锁定、读写位置和各项权限或旗标。例如,当利用lseek()对某个文件描述词作用时,另一个文件描述词的读写位置也会随着改变。不过,文件描述词之间并不共享close-on-exec旗标。返回值当复制成功时,则返回最小及尚未使用的文件描述词。若有错误则返回-1,errno会存放错误代码。错误代码EBADF参数fd非有效的文件描述词,或该文件已关闭。dup2(复制文件描述词)相关函数open,close,fcntl,dup表头文件#include定义函数intdup2(intodlfd,intnewfd);函数说

8、明dup2()用来复制参数oldfd所指的文件描述词,并将它拷贝至参数newfd后一块返回。若参数newfd为一已打开的文件描述词,则newfd所指的文件会先被关闭。dup2()所复制的文件描述词,与原来的文件描述词共享各种文件状态,详情可参考dup()。返回值当复制成功时,则返回最小及尚未使用的文件描述词。若有错误则返回-1,errno会存放错误代码。附加说明dup2()相当于调用fcntl(oldfd,F_DUPFD,newfd);请参考fcntl()。错误代码EBADF参数fd非有效的文件描述词,或该文件已关闭fcntl(文件描述词操作)相关函数open,flock表

9、头文件#include#includefile://D:linux_cfunction9.html2004-1-9UntitledDocument页码,3/9定义函数intfcntl(intfd,intcmd);intfcntl(intfd,intcmd,longarg);intfcntl(intfd,intcmd,structflock*lock);函数说明fcntl()用来操作文件描述词的一些特性。参数fd代表欲设置的文件描述词,参数cmd代表欲操作的指令。有以下几

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

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

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