Linux IO.ppt_第1页
Linux IO.ppt_第2页
Linux IO.ppt_第3页
Linux IO.ppt_第4页
Linux IO.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、文件I/O编程,Linux中系统调用的基本概念 Linux中用户编程接口(API)及系统命令的相 互关系 文件描述符 Linux下文件相关的不带缓存I/O函数的使用 Linux下设备文件读写方法 Linux标准文件I/O函数的使用,1、Linux中系统调用的基本概念,系统调用 用户编程接口 系统命令,1.1系统调用,概念 系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组接口来获得操作系统内核提供的服务。,1.2 用户编程接口(API),概念 用户编程接口是一个通过软中断机制向内核提交请求,以获得内核服务的接口。 API主要是通过C库(libc)实现的。,1.3系统

2、命令,系统命令相对于API更高了一层,它实际是一个可执行的程序,它内部引用了用户编程接口(API)来实现相应的功能。,2、 文件描述符,Linux对目录和设备的操作都等同于文件的操作,因此,大大简化了系统对不同设备的处理; Linux中文件主要分为:普通文件、目录文件、链接文件和设备文件; 文件描述符用来区分和引用特定的文件;,概念 文件描述符是个非负的整数,它是一个索引值; Linux对所有设备和恩间的操作都使用文件描述符来进行。 一般地,进程启动时,都会打开3个文件:标准输入/输出和标准出错处理。,3、Linux下文件相关的不带缓存I/O函数的使用,不带缓存的文件I/O主要用到5个函数:o

3、pen、read、write、lseek和close。,3.1 open和close,Open open函数用于打开或创建文件; Close close函数是用于关闭一个打开的文件;,Open函数的语法要点,Close函数的语法要点,Open和close实例,OpenClose.c,Read、write和lseek,Read、write和lseek函数的作用 read函数是用于将制定的文件描述符中读出数据。 write函数是用于向打开的文件写数据,写操作从文件的当前位移量处开始。 lseek函数是用于在指定的文件描述符中将文件指针定位到相应的位置。,Read函数语法要点,Write函数语法要点

4、,Lseek函数语法要点,实例,writeRead.c,3.3 fcntl函数,3.3 select函数,Select函数是用于处理I/O复用的。在I/O多路转接模型中,如果请求的I/O操作阻塞,它不是真正的阻塞I/O,而是让其中的一个函数等待,在这期间,I/O还能进行其他操作。,Select函数语法要点,Select文件描述符处理函数,实例,Select.c,4、标准I/O开发,标准I/O操作都是基于流缓冲的,是符合ANSI C的标准I/O处理。 标准I/O提供流缓冲的目的是尽可能减少使用read和write调用的数量。 标准I/O提供了3种类型的缓冲存储:全缓冲,行缓冲和不带缓冲。,4.1

5、 打开和关闭文件,打开文件有三个标准函数,分别为:fopen、fdopen和freopen。他们以不同的模式打开文件,都返回一个指向FILE的指针。此后对文件的读写都是通过这个FILE指针来进行的。 fopen:可以指定打开文件的路径和模式; fdopen:可以指定打开文件的描述符和模式; freopen:可以指定打开文件、模式和特定的I/O流。,fopen函数语法要点,mode取值说明,fdopen函数语法要点,freopen,fclose函数,函数说明 关闭标准文件的函数为fclose,这时缓冲区中的数据写入文件中,并释放系统所提供的文件资源。,fclose函数的语法要点,实例,打开和关闭

6、文件,5、文件读写,读文件 写文件 输入输出,5.1 读文件fread,函数说明 在文件流打开之后,可用fread函数对文件进行读操作; 函数语法要点,5.2 写文件fwrite,函数说明 用于对指定的文件流进行写操作; 函数语法要点,实例,写文件实例,5.3 输入输出,文件打开后,根据一次读写文件中字符的数目可分为字符输入输出,行输入输出和格式化输入输出;,字符输入输出,函数说明 字符输入输出函数一次仅读写一个字符。,字符输入函数,字符输出函数,实例,fput.c,行输入输出,函数说明 行输入输出函数一次操作一行。,行输入输出函数语法要点,实例,Gets.c,格式化输入输出,函数说明 格式化

7、输入输出函数可以指定输入输出的具体格式,如常见的printf、scanf等函数。,函数语法要点,格式化输出函数,格式化输入函数语法要点,综合实例,实现txt文件的合并和分割;,练习,Copy命令的实现 请读取一个bmp图像;,思考,如何打开一个串口;,串口应用开发,串口的概述 串口的设置 串口的使用,串口的概述,据通信的基本方式可分为并行通信与串行通信两种。 并行通信是指利用多条数据传输线将一个资料的各位同时传送。它的特点是传输速度快,适用于短距离通信,但要求传输速度较高的应用场合。 串行通信是指利用一条传输线将资料一位位地顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合。 在linux中,所有的设备文件一般都位于“/dev”下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论