Linux:IO接口
创始人
2024-05-31 20:38:56
0

目录

    • 系统调用接口
    • 文件描述符
    • 一、open
    • 二、write
    • 三、read
    • 四、lseek
    • 五、close

 之前介绍了IO库函数,本文主要介绍系统提供的IO接口,与IO库函数搭配食用效果更佳。

系统调用接口

 常使用的IO系统调用接口如下:

接口作用
open打开指定的文件
write向指定的文件写入数据
read从指定的文件读取数据
lseek跳转指定文件的读写位置
close关闭指定文件

文件描述符

 系统调用IO接口的操作离不开文件描述符,那么什么是文件描述符?

  在IO库函数中,操作一个文件使用的是文件流指针,可以说文件流指针就是文件的操作句柄。操作句柄就是用来操作东西的手柄,就像操控电视的遥控器一样。

  IO库函数其实就是对IO接口的封装,将IO接口中的文件描述符封装后就变成了文件流指针,因此文件描述符就是IO接口中文件的操作句柄。

一、open

int open(const char *pathname, int flags, mode_t mode)

 作用:用指定方式打开指定文件

  • const char *pathname:要打开的文件名(带路径)
  • int flags:文件的打开方式
  • mode_t mode:文件不存在时创建文件所使用的权限(这里要注意文件掩码的问题)

 返回值:成功返回一个非负整数(就是文件描述符),失败返回-1。

flags选项(前三种必须选择一个):

  • O_RDONLY:只读
  • O_WRONLY:只写
  • O_RDWR:可读可写
  • O_CREAT:文件不存在就创建
  • O_APPEND:写入数据时以追加方式写
  • O_TRUNC:打开文件时清空

二、write

ssize_t write(int fd, const void *buf, size_t count)

 作用:向指定文件写入指定大小的数据。

  • int fd:要向哪个文件写入数据,就传入哪个文件的文件描述符
  • const void *buf:要向文件写入的数据的首地址
  • size_t count:要写入的数据的字节长度

 返回值:成功返回实际写入文件的数据长度,失败返回-1

三、read

ssize_t read(int fd, void *buf, size_t count)

 作用:从指定文件读取指定大小的数据。

  • int fd:要从哪个文件读出数据,就传入哪个文件的文件描述符
  • void *buf:存储读取到的数据的空间首地址
  • size_t count:要读取的数据长度,以字节为单位

 返回值:成功返回实际读取到的数据的长度,出错返回-1

四、lseek

off_t lseek(int fd, off_t offset, int whence)

 作用:跳转读写位置

  • int fd:文件的操作句柄
  • off_t offset:偏移量
  • int whence:从哪里开始偏移

 返回值:成功返回当前跳转后的位置相对于起始位置的偏移量,出错返回-1

whence选项:

  • SEEK_SET:起始位置
  • SEEK_CUR:当前读写位置
  • SEEK_END:末尾位置

五、close

int close(int fd)

 作用:关闭文件

  • int fd:要关闭的文件的文件描述符

相关内容

热门资讯

毕业晚会致辞 毕业晚会致辞(精选18篇)  在学习、工作或生活中,大家都写过致辞吧,致辞要求风格的雅、俗、庄、谐要...
幼儿园六一节目串词 幼儿园六一节目串词红黄蓝幼第一文库网儿园节目串词主持人(师):亲爱的家长朋友们( ):敬爱的老师们(...
祝寿主持词 祝寿主持词  主持词要尽量增加文化内涵、寓教于乐,不断提高观众的文化知识和素养。在人们积极参与各种活...
回门宴主持词 让你的回门宴顺... 回门宴主持词 让你的回门宴顺利完成  篇一:新婚回门宴主持词  亲爱的各位来宾,各位亲朋好友,先生们...
结婚新郎致辞 结婚新郎致辞(15篇)  在学习、工作、生活中,说到致辞,大家肯定都不陌生吧,致辞具有能伸能缩,可以...
庆中秋迎国庆联欢晚会主持词(...   (念8条短信)  男:我们的驻外营销健儿发来的每一条祝福都是那么的感人。由于时间关系,我们不能一...
重庆森林经典台词 重庆森林经典台词  《重庆森林》由两个基本不相干的故事构成。两个故事之间的关系,就像擦身而过的金城武...
歌曲奔跑主持词串词 歌曲奔跑主持词串词范文  借鉴诗词和散文诗是主持词的一种写作手法。在如今这个中国,主持成为很多活动不...
年会老板感谢员工精彩致辞 年会老板感谢员工精彩致辞(通用16篇)  在日复一日的学习、工作或生活中,大家都用到过致辞吧,致辞具...
六一文艺汇演主持词 六一文艺汇演主持词(通用10篇)  主持词要根据活动对象的不同去设置不同的主持词。在人们积极参与各种...
文艺晚会主持稿   男:今晚,我们再次欢聚一堂  女:满载丰收的喜悦,用歌舞表达内心最真挚的情感  男:朋友们,古往...
最新公司年会主持词 最新公司年会主持词  主持词已成为各种演出活动和集会中不可或缺的一部分。在当下的社会中,主持词的实用...
毕业晚会主持词结束语 毕业晚会主持词结束语  以下是由应届毕业生网PQ小编为大家整理出来的2016年毕业晚会主持词结束语,...
启动会主持词 启动会主持词  利用在中国拥有几千年文化的诗词能够有效提高主持词的感染力。在现在的社会生活中,主持人...
七十大寿祝寿主持词最新 七十大寿祝寿主持词最新  根据活动对象的不同,需要设置不同的主持词。在当下的中国社会,主持词的实用频...
十一国庆节晚会主持词 十一国庆节晚会主持词  在国庆节需要举办相关的晚会,那么晚会的主持词应该怎么写呢?下面是小编分享给大...
中学秋季开学典礼主持词串词 中学秋季开学典礼主持词串词  暑假如同一部赏心悦目的电影,看完了,请你把美好的记忆珍藏在心中,开学日...
适合父亲节的歌曲 适合父亲节的歌曲适合父亲节的歌曲推荐Eric Clapton的.My Father's Eyes,很...
我们的节日端午主持稿 我们的节日端午主持稿(通用12篇)  在当下社会,很多地方都会使用到主持稿,主持稿具有语言过度自然、...
婚礼主持词开场白   第一篇:  尊敬的各位来宾,  很高兴接受一对新人的委托,主持今天这场爱情的盛典,我是主持人张 ...