- 32
- 0
- 约7.85千字
- 约 28页
- 2017-12-27 发布于河南
- 举报
C的输入输出流
C++ 程序设计 * C++的输入输出流 1 I/O流的概念 2 C++输入和输出 3 输入流和输出流的格式控制 4 文件操作 * 1 I/O流的概念 数据从一个对象到另一个对象的传送被抽象为“流”。 数据的输入/输出就是通过输入/输出流来实现的。 从流中获取数据的操作称为提取操作,向流中添加数据的操作称为插入操作。 当程序与外界环境进行信息交换时,存在着两个对象,一个是程序中的对象,另一个是文件的对象。 流是一种抽象的概念,负责在数据的产生者和数据的使用者之间建立联系,并管理数据的流动。 程序建立一个流对象,并指定这个流对象与某个文件对象建立连接,程序操作流对象,流对象通过文件系统对所连接的文件对象产生作用。 1 I/O流的概念 一般意义下的读操作在流数据抽象中被称为(从流中)提取,写操作被称为(向流中)插入。 在C++语言中输入/输出流操作由标准类库提供的I/O流类来完成,大多数的I/O流类都以抽象类ios为基类。 大部分的I/O流类均定义在iostream.h文件中,只有部分文件流对象定义在头文件fstream.h中。 另外ios抽象类中定义了对流进行格式化输入输出和错误处理的抽象函数。 stream类提供完成提取(输入)操作的成员函数,而ostream类提供完成插入(输出)操作的成员函数。iostream类是前两者的合成,并没有增加成员。 * 2 C++输入和输出 2.1 标准输入流和输出流 cout流对象 cout为ostream流类的一个对象,与标准设备显示器联系,对该对象执行插入操作,表示对标准设备显示执行输出操作,它在iostream.h头文件作为全局对象定义。 例如: cout”this is a c++ program”; cin流对象 cin是istream类的对象,它从标准输入设备(键盘)获取数据,程序中的变量通过流提取符“”从流中提取数据。 例如:cin i; * 2 C++输入和输出 2.1 标准输入流和输出流 cerr流对象 cerr流对象是标准错误流。cerr流己被指定为与显示器关联,它的作用是向标准错误设备输出有关的出错信息。 clog流对象 clog流对象也是标准错误流,它的作用和cerr相同,都是在显示器显示出错信息。 * 例11-1 #include iostream.h void fn(int a,int b) { if(b==0) cerr zero encountered. The message can not be redirected. ; else cout a /b endl ; } void main() { fn(20,2); fn(20,0); coutendl; } 程序运行结果: 10 zero encountered. The message can not be redirected. * 2 C++输入和输出 2.2 输入流和输出流成员函数 输入流成员函数: int istream::get(); 提取一个字符返回给调用者,返回的是整型数据 streamistream::getline(char *,int,char=’\n’); 提取指定数量的字符序列,以回车符结束 * 例11-2 #includeiostream.h #include iostream.h void main() { char input[255],ch; cin.getline(input,255,#); coutinputendl; cin.get(ch); coutchendl; if(ch!=\n) cin.ignore(255,\n); cin.get(input,255,#); coutinputendl; cin.get(ch); coutchendl; } * 例11-3 int main(){ char str[255]; int i,n; cout输入字符endl; /*输入^Z,一旦输入^Z全部结束,不能输入其它字符*/ i=cin.get(); coutendl; n=cin.rdstate(); /*读取状态字*/ cout状态字为:nendl; /*状态字为1,流结束*/ cout当输入字符时,取得的是:iendl; /*-1,输入^Z时,返回EOF,即-1*/ if(n==0) cin.ignore(255,\n); /*清除多余的字符和回车符*/ cin.
您可能关注的文档
- 计算机与信息技术基础(第3版) 第九章 网页制作初步.ppt
- 电子CAD技术(第2版)(上).ppt
- 高频电子线路(第3版).ppt
- 软件开发过程与项目管理(课件).ppt
- 中文版Photoshop实用教程(上).ppt
- 随机信号分析(第3版)(下).ppt
- SMT表面组装技术[.ppt
- 使用相关软件进行网上交流的学习.ppt
- AutoCAD 2007中文版第3章基本绘图命令.ppt
- 电热电动器具原理与维修(第2版).ppt
- 投标专员年终工作总结(通用6篇).pdf
- 南京市首届大学生职业生涯规划大赛策划案.pdf
- 2026中国医学科学院医药生物技术研究所社会招聘18人备考题库及答案详解(夺冠系列).docx
- 2026上海第二工业大学管理岗等工作人员招聘10人备考题库含答案详解(满分必刷).docx
- 金融行业信息(内网)安全管理规定(参考).pdf
- 电子信息前沿技术论文.pdf
- 大学生谈恋爱利大还是弊辩论赛.pdf
- 2026中共济南市委党校(济南行政学院)引进博士研究生10人备考题库附答案详解(黄金题型).docx
- 2026中共济南市委党校(济南行政学院)引进博士研究生10人备考题库及答案详解参考.docx
- 2026中国地质调查局烟台海岸带地质调查中心招聘工作人员28人备考题库(第一批)及答案详解(全国通用.docx
原创力文档

文档评论(0)