- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
流类库与输入.输出
第十一章 流类库与输入/输出 本章主要内容 I/O流的概念 标准输入输出 文件操作 I/O流的概念 流是对输入/输出的一个抽象表述。 程序通过从流中提取字符和向流中插入字符来实现输入和输出。 I/O流类库是一个提供输入/输出功能的,面向对象的类库。 I/O流类库的层次结构 标准输入输出流对象 cout 标准输出,默认输出设备屏幕 cerr 标准错误输出,没有缓冲,发送给它的内容立即被输出,默认输出设备屏幕。 clog 类似于cerr,但是有缓冲,缓冲区满时被输出,默认输出设备打印机。 cin标准输入,默认输入设备键盘 运算符 插入()运算符是所有标准C++数据类型预先设计的,用于传送字节到一个输出流对象。 提取运算符()对于所有标准C++数据类型都是预先设计好的,它是从一个输入流对象获取字节最容易的方法。 使用流对象成员函数 用getline()读取输入行:读取分隔符 用get()输入一系列字符:不读取分隔符 用ignore()读取并丢弃一系列字符 用get()读取一个字符 用put()输出一个字符 用peek()查看输入流中的下一个字符 用read()实现无格式输入 用write()实现无格式输出 使用get和 put成员函数输入输出字符 #include iostream using namespace std; int main() { int ch; cout Input a sentence: endl; while ((ch = cin.get())!= EOF) cout.put(ch); //使用get和 put来读取显示字符 return 0; } 使用peek()成员函数输入输出字符 #include iostream using namespace std; int main() { int ch; cout Input a sentence: endl; while (cin.peek()!=‘*’) { cin.get(ch); cout.put(ch); return 0; } 流状态 eofbit 如果到达文件尾,则设为1 badbit 如果流被破坏,则设为1 failbit 如果输入没有读到预期字符或输出没有写 入预期字符,则设置为1 eof() eof被设置,返回true fail() badbit或failbit被设置,返回true clear() 流状态控制 if(cin.fail()!cin.eof()) { cin.clear(); while(!isspace(cin.get())) continue; } 控制输出格式 成员函数方式 包含头文件iostream precision(n),width(n),flags(c),flags(8), flags(16),flags(10),fill(c) 用控制符 包含头文件iomanip setprecision(n),setw(n),setfill(c),oct, hex,dec, setiosflags() ,resetiosflags() 设置整数流的基数——dec、oct、hex和setbase #include iostream #include iomanip using namespace std; int main() { int num; cout Enter a dec number: ; cin num; //使用hex流操纵符显示十六进制整数 cout num in hex is: hex num endl; //使用oct流操纵符显示八进制整数 cout dec num in oct is: oct num endl; //使用setbase流操纵符显示十进制整数 cout setbase(10) num in dec is: num endl; return 0; } 设置浮点数精度——precision和setprecision #include iostream #include iomanip #include cmath using namespace std; int main()//设置小数点后面的位数 { double root = sqrt( 3.0 ); cout set by precision:\n fixed; //使用fixed精度 for (int
您可能关注的文档
- 法兰强度设计.ppt
- 法国文化介绍ppt.ppt
- 油气田的腐蚀与防护技术.ppt
- 法国 巴黎文化 英文PPT.ppt
- 法国景点英文介绍.ppt
- 法国三日游 配乐Dying in the sun 原创.pptx
- 法国法语和26个字母.ppt
- 法学考研必备——法律英语单词汇总(附音标).doc
- 河流流域的综合开发治理.ppt
- 法国介绍(法语版).ppt
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)