网站大量收购闲置独家精品文档,联系QQ:2885784924

《Linux文件IO编程.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux文件I/O编程 李杰聪 Linux编程基础:man 1.一般命令(shell命令) 2.系统调用(open write等直接陷入内核的函数) 3.子函数(C函数库等不直接陷入内核的函数) 4.特殊文件(/dev/zero等linux系统中有特殊用途的文件) 5.文件格式(linux系统的配置文件格式 host.conf) 6.游戏 7.宏和地方传统定义(本地配置) 8.维护命令(tcpdump等用来观察linux系统运行情况的命令) Linux编程基础 目录也是文件 进程被启动的目录成为工作目录print working directory 起始目录也称home目录 目录操作函数有 opendir readdir closedir 文件描述符:当打开一个文件时,内核就会分配给你一个非负整数,通过这个整数便可读写文件。 Linux编程基础 标准输入 文件描述为0 STDIN_FILENO 标准输出 文件描述为1 STDOUT_FILENO(每一次在内核组织好,一次性送出来) 标准错误输出 文件描述符为2 STDERR_FILENO(每一次都进内核,以最快速度反馈给用户) 不带缓冲的I/O,直接去找系统调用,速度快。(open read write) 带缓冲的I/O,在系统调用前采用一定的策略,速度慢,比不带缓冲的I/O安全。 (fopen fread fwrite) 缓冲和非缓冲I/O Linux出错处理 一般Linux函数出错时会返回一个负值。附加信息会放在errno中。 errno.h中定义了errno变量以及附加信息的常量。 errno只有在函数出错时才有意义,并且不可能为0 可以通过strerror和perror打印出当前errno对应的文字描述信息。 Perror例子: int main() { FILE *fp; if((fp=fopen(1.txt,r)) == NULL) { perror(fopen); exit(0); } perror(fopen); } fopen: No such file or directory fopen: Success Linux编程基础 signal是通知进程发生某种事件的技术。 每种信号都有系统默认处理方式,程序员也可以提供专门的函数处理程序感兴趣的信号。 系统调用:操作系统提供给应用使用的接口,通过这些接口应用程序可以访问内核的服务。 文件时间戳 文件最后访问时间 ls -lu 文件修改时间 ls -l inode修改时间 ls -lc 文件I/O:open open函数:调用它可以打开或者创建一个文件。 #include fcntl.h int open(const char *pathname, int flags) int open(const char *pathname, int flags, mode_t mode)返回一个整数,它就是一个数据结构,包括文件名,文件指针,文件读写权限等,以后就可以拿它来操作文件。 如果失败,返回值为-1 参数解析: pathname是要打开或者创建的文件名(路径)。 flags 文件打开时候的选项(当多个选项时,采用|或者连接) O_RDONLY 以只读方式打开文件。 O_WRONLY 以只写方式打开文件。 O_RDWR 以读和写方式打开文件。 这三个选项是必选其一的! 文件I/O:open flags 可选选项: O_APPEND 以追加方式打开文件,每次写时都写在文件末尾。 O_CREAT 如果文件不存在,则创建一个,存在则打开它。 O_EXCL 与O_CREAT一起使用时,如果文件已经存在则返回出错。 O_TRUNC 以只写或读写方式打开时,把文件截断为0(清空) O_DSYNC 每次写时,等待数据写到磁盘上。 O_RSYNC 每次读时,等待相同部分先写到磁盘上。 O_SYNC 每次写时,等到数据写到磁盘上并接更新文件属性。 SYNC选项都会影响降低性能,有时候也取决于文件系统的实现。man sync 文件I/O:open mode 只有创建文件时才使用此参数,指定文件的访问权限。模式有(要加头文件:myhead.h,或直接用数字表示) S_IRWX[UGO] 可读 可写 可执行 eg:S_IRWXU表示用户当前的权限为RWX S_IR[USR GRP OTH] 可读 S_IW[USR GRP OTH] 可写 S_IX[USR GRP OTH] 可执行 S_ISUID

文档评论(0)

you9391 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档