- 2
- 0
- 约 15页
- 2017-06-13 发布于湖北
- 举报
2010年10月 重庆理工大学计算机科学与工程学院计算机科学与技术系刘恒洋 * 第4章 C++的输入/输出流及其应用 重点 1.和的使用 2.get()和put()的使用 3.read()和write()的使用 4.输入/输出中的格式控制 5.示例系统的输入/输出类设计 4.1 概述 C++的输入/输出流由iostream提供; iostream为内置数据类型提供了默认的输入/输出操作; 用户可以通过扩展iostream来支持新数据类型的输入/输出; iostream类库的层次关系如右图: 简化的iostream类层次结构 iostream类库中定义了三个标准的流对象 cin,代表标准输入的istream类对象,允许从用户终端读入数据; cout,代表标准输出的ostream类对象,允许向用户终端写数据; cerr,代表标准错误的ostream类对象,是导出程序错误消息的地方。 在C++中,输出主要由左移操作符()来完成;输入主要由右移操作符()来完成; C++还支持对文件和内存的输入/输出,他们分别由类ifstream、ofstream和fstream以及istringstream、ostringstream和stringstream来支持。 4.1.1 C++输入/输出流类库 文件是存储在磁盘、磁带等外部设备上的数据集合,每一个文件都必须有一个文件名称; 在C++中可以处理文件的流类有:ifstream, ofstream, fstream,它们对文件的操作可以分为4步: 定义文件流类对象 打开文件 对文件进行读写操作 关闭文件 1. 定义流类对象 access:文件的系统属性(0、1、2、3);nMode:打开模式,取值为: void open(const unsigned char* filename, int mode, int access = filebuf::openprot); ios::app:打开一个已经存在的文件用于输出,使输出追加到文件尾部 ios::ate:以附加模式打开一个已经存在的文件用于输出,文件指针自动移到文件尾部 ios::in:打开一个已经存在的文件用于输入 ios::out:打开一个文件用于输出,如果文件不存在则自动创建,该值为默认值 ios::trunc:打开一个文件用于输出,文件已经存在则删除原有内容,不存在则创建 ios::nocreate:打开一个文件,如果文件不存在则打开文件失败 ios::noreplace:打开文件,如果文件已经存在则打开文件失败 ios::binary:以二进制方式打开文件 注:多种打开方式可以组合;对于有默认值的可以不指定打开方式 4.1.2 C++对流文件的操作 2. 打开文件 3. 关闭文件 理解程序4.1.cpp。 4.2 和输入/输出操作符 输出操作符可以接受任何内置数据类型的实参,包括const char*,string,complex,表达式和函数调用等; endl是一个ostream操作符,它把一个换行符插入到输出流中,再刷新ostream缓冲区; 由于输出操作符为左结合性,同时输出操作后的返回结果是一个ostream对象,所以多个输出操作符可以连接在一起。 1. 常见的输出 2. 变量地址输出 默认情况下C++按十六进制输出地址值; 默认情况下char*输出的是他所指向的字符串的内容,而不是地址; 理解程序4.2.cpp。 3. 输出操作符的优先级 理解并修改程序4.3.cpp。 4.2.1 和用于标准输入/输出 理解程序4.4.cpp 4. 数组和容器类型的输出 5. 输入操作符 考虑语句:while(cinival): 语句表示:从标准输入读入一个序列,直到cin为false为止; 当读到文件结束标记或遇到一个无效的输入值,cin返回false; 在读入一个无效值的情况下,cin被放置到一种错误的状态中,并且对于值的所有读入动作都将被停止。 预定义的输入操作符可以接受任何的内置数据类型,如: “数值的读操作”比“数值的写操作”更容易导致iostream错误; C++不推荐使用连接形式的的输入操作符; 对于字符串的输入操作,C++推荐使用string类型,而不是char*; 理解程序4.4.cpp。 int item_number; string item_name; double item_price; coutPlease enter the item_number, item_name, and price: endl; cinitem_number; cinitem_name; cinitem_price; coutThe values entered are: item# item_number
您可能关注的文档
最近下载
- 辽宁省沈阳市辽宁省实验中学2025-2026学年高一上学期12月月考语文试题.docx VIP
- 药事法律法规试题及答案.docx VIP
- 辽宁省沈阳市辽宁省实验中学2025-2026学年高一上学期期末语文试题(含答案).docx VIP
- 麻醉中级考试精选题库及答案解析.docx
- 货款结算合同范本及法律解读.docx VIP
- 威海芜船船舶制造有限公司X射线探伤机移动探伤项目报告表.pdf VIP
- 2026年高考第一次模拟考试:生物一模保分卷(课标全国通用)(考试版).docx VIP
- 新中国的医疗卫生发展.pptx VIP
- 2025年甘肃卷历史高考试卷(原卷+答案).pdf VIP
- (二诊)绵阳市高中2023级(2026届)高三第二次诊断性考试化学试卷A卷+B卷(含答案).pdf
原创力文档

文档评论(0)