1 / 40
文档名称:

UNIX-低级文件IO.ppt

格式:ppt   大小:239KB   页数:40页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

UNIX-低级文件IO.ppt

上传人:lily8501 2017/12/3 文件大小:239 KB

下载得到文件列表

UNIX-低级文件IO.ppt

相关文档

文档介绍

文档介绍:低级文件I/O
系统调用
open( ) read( ) write( )
lseek( ) dup( ) dup2()
fcntl( ) lockf( ) flock( )
ioctl( ) close( )
文件描述
当打开一个现存文件或创建一个新文件时,内核向进程返回一个文件描述符。当读、写一个文件时,用open或creat返回的文件描述符标识该文件,将其作为参数传送给read、write、lseek和close等。
按照惯例,UNIX shell使文件描述符:
0-stdin 1-stdout 2-stderr
,标准I/O描述符被定义为:
0-STDIN_FILENO; 1-STDOUT_FILENO; 2-STDERR_ FILENO
这些常数都定义在头文件<>中。
文件描述符的范围是0 ~ OPEN_MAX。早期的UNIX版本采用的上限值是1 9 (即2 0),现在很多系统则将其增加至256且可以以内核参数的办法设置,比方说1024。
原始系统数据类型
在UNIX/Linux的开发过程中用到的以_t结尾的数据为系统原始数据。
系统原始数据在头文件<sys/>中被定义。
出错处理
UNIX函数出错时,往常返回一个负值,而且整型变量errno通常设置为具有特定信息的一个值。例如,open函数如成功执行则返回一个非负文件描述符,如出错则返回-1。
在open出错时,有大约1 5种不同的errno值。
某些函数并不返回负值而是使用另一种约定。例如,返回一个指向对象的指针的大多数函数,在出错时,将返回一个null指针(NULL)。
文件< >中定义了变量errno以及可以赋与它的各种常数。这些常数都以E开头。
在Linux系统中,errno定义在头文件/usr/include/asm/,多达124条。
errno
POSIX定义errno为:extern int errno;
对于errno应当知道两条规则:
1:如果没有出错,则其值不会被一个例程清除。因此,仅当函数的返回值指明出错时,才检验其值。
2:任一函数都不会将errno值设置为0,在<>中定义的所有常数都不为0。
错误处理的标准函数
strerror( ):
功能:以字符串方式打印错误信息。
用法:
#include <>
char *strerror(int errnum);
返回:指向消息字符串的指针。
perror()
功能:在标准错误上产生一条基于其参数串和errno的当前值出错消息。
用法:
#include <>
void perror(const char * msg);
输出:首先输出由msg指向的字符串,然后是一个冒号,一个空格,然后是对应于errno值的出错信息,然后是一个新行符。
处理错误的示例1
#include <>
#include <>
main(int argc, char *argv[ ]) {
fprintf(stderr,"ES=%d: %s\n",ES, strerror(ES));
errno=ENOENT;
perror(argv[0]);
}
结果:假设,,则输出为:
ES=13: Permission denied
./: No such file or directory
处理错误的示例2
#include <>
#include <>
main(int argc, char *argv[ ])
{
int i, fd;
for(i=1; i< argc; i++){ if((fd=open(argv[i],O_RDWR))==-1) perror(argv[i]);
else close(fd);
}
}
open
功能:
打开或创建一个文件,并返回一个文件描述符。
用方:
#include <sys/>
#include <sys/>
#include <>
int open(const char *name, int oflag) ;
int open(const char *ame, int oflag, mode_t mode ) ;
返回值:
成功时为文件描述符,出错则为-1。
出错时errno被设置。

最近更新

应用锥形束CT研究下颌中切牙区牙槽骨厚度的开.. 2页

应用型科技人才评价研究的开题报告 2页

十年高考生物分类解析:生命活动的调节与免疫.. 108页

广西部分地区鸡球虫抗药性的研究的开题报告 2页

广西农村信用社信贷风险管理研究的开题报告 2页

广东省绿色就业发展与研究的开题报告 2页

幼儿园教师音乐素养研究的开题报告 2页

干草添加时期对哺乳期犊牛生长性能和瘤胃发育.. 2页

帽儿地区不同植物功能群叶片性状的比较研究的.. 2页

巴塞尔Ⅲ下我国商业银行资本充足率监管研究的.. 2页

工程网络可靠性分析研究的开题报告 2页

川江及三峡库区干散货船标准船型技术方案评估.. 2页

北师大版七年级下册数学期末试卷及答案 2页

山西省四城市户外自行车俱乐部发展现状的调查.. 2页

山区河道型水库陡岩滑坡涌浪特性及对航道通航.. 2页

山东联通DCN网络改造方案的设计与实施中期报告.. 2页

山东省旱情信息管理系统设计与实现中期报告 2页

山东省农村信用社业务需求管理系统的设计与实.. 2页

2023年茶叶进出口合同(模板三篇) 11页

幼儿园游戏观察教研活动 23页

消费降级对经济的影响 28页

小老鼠打电话课件 17页

《佛说天地八阳神咒经》注音版(可直接A4纸打印.. 13页

亨利八世PPT 12页

浅谈航空公司服务营销 6页

射波刀治疗胰腺癌的护理 4页

格宾挡墙专项施工方案 7页

《GJBZ 141-2016 军用软件测试指南》.pdf 61页