1 / 19
文档名称:

第7章 IO.ppt

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

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

分享

预览

第7章 IO.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第7章 IO.ppt

文档介绍

文档介绍:C程序设计语言
第7章 I/O
孙志岗 ******@hit.
2017/11/10
1
Input and Output
I/O设备
输入设备
键盘、鼠标
软盘、硬盘、光驱(以文件的形式)
串行口、并行口、USB接口、IEEE1394口、网络端口
扫描仪、视频采集卡、电视卡、游戏杆、话筒
……
输出设备
显示器、打印机
软盘、硬盘、CD-R/DVD-R(以文件的形式)
串行口、并行口、USB接口、IEEE1394口、网络端口
音箱
……
单纯的输入设备或者单纯的输出设备越来越少
标准输入输出
字符界面的操作系统一般都提供标准输入与输出设备
DOS、Linux、Unix……
一般情况,标准输入就是键盘,标准输出就是终端显示器
操作系统有能力重定向标准输入与输出,比如让文件作为标准输入,打印机作为标准输出
这种重定向程序本身是感觉不到的
自来水厂
DOS下的标准输入输出重定向
程序prog如下
main() { char c; while ((c=getchar()) != '\n') putchar(++c); }
输入重定向
prog < infile
输出重定向
prog > outfile
格式化输出——printf
int printf(const char *format, 参数1, 参数2, …);
参数format是用来控制格式的字符串
具体格式请见教材P130、P214
常用转换字符:%d、%c、%s、%.2f、%u、%ld
返回值是最后输出的字符串长度,出错返回EOF
printf并不对参数的类型及个数进行检查,所以一定要确切地把参数和前面的转换字符匹配好
这种参数形式不仅在C语言里应用广泛,很多其它语言、类库也对此进行了模仿、扩充
相似的库函数
sprintf、fprintf
格式化输入——scanf
int scanf(const char *format, 参数1, 参数2, …);
参数format是用来控制格式的字符串
具体格式请见教材P133、P216,与printf基本相同,但更简单
常用转换字符:%d、%c、%s、%f、%u、%ld
返回值是成功匹配的输入项的个数,遇到结尾返回EOF
所有参数必须是指针,且类型要与前面的转换字符匹配好
相似的库函数
sscanf、fscanf
因为其不安全,所以已经很少使用
文件(File)
不能仅依靠操作系统的输入输出重定向来进行文件访问,我们必须有能力主动访问文件
磁盘、光盘等能大量、永久保存信息的媒介,一般都以文件的形式给最终用户及应用程序使用
可以建立若干目录(文件夹),在目录里保存文件或者下级子目录。同目录下的文件不能同名
对我们目前而言,只要知道文件的路径(全目录)和文件名,就能使用该文件
这都是托OS的福
流(Stream)
“子在川上曰:逝者如斯夫”
涓涓的、潺潺的、浩瀚的、奔腾的水从我们面前流过。每一个水分子出现在我们眼中。 你或许会记下她的样子,但她将永远不再出现
计算机中也有流的概念,一般称为数据流,也有叫做字节流、比特流的,还有很具体的文件流、视频流、音频流等
流处理基本方法是:读入当前流到输入的数据,处理,然后再读后续流入的数据,处理。输出流处理也大抵如此
计算机对流的控制能力很强,一般不仅可以控制流速,甚至还可以让流回流
文件访问
文件访问的基本模式
open:打开文件,获得对此文件的指针、引用和句柄等,以证明可以使用此文件
read:读文件。参数一般指明要读多少字节,读到哪块内存。每次调用此功能,都是接着上次调用的结束位置读。(所以是个输入流)
write:写文件。参数一般指明把哪块内存的内容写入文件,要写多少字节。每次调用此功能,都是接着上次调用的结束位置写。(所以是个输出流)
close:关闭文件,表明操作结束,不再使用此文件。文件使用完毕必须关闭,否则影响系统性能
seek:随机控制流的当前位置
C语言中的文件访问
下面介绍的函数均定义在<>中
int open(const char *pathname, int access);
int fd = open("C:\\", O_RDWR | O_CREAT);
filename是文件名,包含路径。如果不含路径,表示打开当前目录下的文件
access是打开方式,常用为O_RDONLY、O_WRONLY、O_RDWR与O_CREAT、O_TRUNC、O_APPEND的或运算
返回值为文件句柄,留待以后使用。如果打开失败,返回值为-1

最近更新

2023年山东圣翰财贸职业学院单招职业技能测试.. 39页

2023年山东城市服务职业学院单招职业技能考试.. 40页

2026年做人的歇后语 4页

2023年山东工程职业技术大学单招职业适应性测.. 41页

2023年山东服装职业学院单招综合素质考试题库.. 39页

2026年假期预防溺水安全教育活动实施方案 12页

2023年山东理工职业学院单招职业适应性考试题.. 39页

2023年山东畜牧兽医职业学院单招职业适应性考.. 40页

2023年山东省德州市单招职业倾向性考试题库最.. 40页

2023年山东铝业职业学院单招职业技能考试题库.. 40页

2023年山西省晋中市单招职业倾向性考试题库附.. 41页

2023年山西通用航空职业技术学院单招职业技能.. 40页

2023年广东南华工商职业学院单招职业技能考试.. 41页

2023年广东省汕尾市单招职业倾向性考试题库含.. 42页

2023年广西工程职业学院单招职业技能考试题库.. 39页

2023年广西省防城港市单招职业倾向性考试题库.. 39页

2023年德宏职业学院单招职业技能考试题库必考.. 40页

2023年承德应用技术职业学院单招职业技能考试.. 41页

2023年日照航海工程职业学院单招职业技能考试.. 39页

2023年林州建筑职业技术学院单招职业技能考试.. 39页

2023年武汉警官职业学院单招职业技能考试题库.. 40页

2023年江苏省泰州市单招职业倾向性考试题库附.. 40页

2023年江西工业工程职业技术学院单招职业技能.. 39页

2026年信念作文的读后感300字 17页

2023年河北机电职业技术学院单招职业技能考试.. 41页

2023年河南省三门峡市单招职业倾向性考试题库.. 42页

2023年泉州工程职业技术学院单招职业技能考试.. 40页

2023年浙江农林大学暨阳学院单招职业技能考试.. 39页

2023年浙江省丽水市单招职业倾向性考试题库及.. 39页

2023年浙江省金华市单招职业倾向性考试题库汇.. 41页