- 1、本文档共98页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
输入输出与文件 流与标准库 输入输出缓冲 基于控制台的I/O 基于文件的I/O 基于字符串的I/O 基于字符串的I/O iostream标准库支持内存中的输入输出,只要将流与存储在程序内存中的string对象捆绑起来即可 标准库定义了三种类型的字符串流: istringstream:由istream派生而来,提供读string的功能。 ostringstream:由ostream派生而来,提供写string的功能。 stringstream:由iostream派生而来,提供读写string的功能。 字符串流使用实例 #include iostream #include sstream #include string using namespace std; int main() { string ch; ostringstream os(ch); // 或 ostringstream os; for (int i = 0; i=20; ++i) os i ; cout os.str(); cout endl; istringstream is(os.str()); while (is i) cout i \t; return 0; } 小结 输入输出是程序中不可缺少的一部分。在C++中,输入输出功能是以标准库的形式来提供。输入输出操作分为控制台I/O,文件I/O以及字符串I/O。由于文件I/O和字符串I/O类都是从控制台I/O类继承的,因此,这三种I/O的操作方式是相同的。 本章介绍了如何利用iostream库进行格式化的输入输出,介绍了如何利用文件永久保存信息,并以图书馆系统为例,介绍了实现文件的随机读写。 文件打开 打开输入文件: ifstream infile; infile.open(“file1”); 或 infile.open(“file1”, ifstream::in); 也可以利用构造函数直接打开: ifstream infile(“file1”); 或 ifstream infile(“file1” , ifstream::in); 打开输出文件 ofstream outfile; outfile.open(“file2”); 或 outfile.open(“file2”, ofstream::out); 也可以利用构造函数直接打开: ofstream outfile(“file2”); 或 ofstream outfile(“file2” , ofstream::out); 打开输入输出文件 fstream iofile(“file3”); fstream iofile(“file3”, fstream:: in | fstream::out); 文件关闭 用成员函数close main函数执行结束时,会关闭所有打开的文件 良好的程序设计习惯:文件访问结束时,关闭文件 基于文件的I/O 文件的概念 文件和流 文件的顺序访问 文件的随机访问 访问有记录概念的文件 文件的顺序访问 C++文件的读写和控制台读写一样,可以用流提取运算符“”从文件读数据,也可以用流插入运算符””将数据写入文件,也可以用文件流的其他成员函数读写文件,如get函数,put函数等。 在读文件操作中,经常需要判断文件是否结束(文件中的数据是否被读完)。这可以通过基类ios的成员函数eof来实现。eof函数不需要参数,返回一个整型值。当读操作遇到文件结束时,该函数返回1,否则返回0。另一种判断读结束的方法是用流提取操作的返回值。当“”操作成功时,返回true。 文件访问实例 将数字1到10写入文件file,然后从file中读取这些数据,把它们显示在屏幕上。 首先用输出方式打开文件file。如文件file不存在,则自动创建一个,否则打开磁盘上的文件,并清空。用一个循环依次将1到10用流插入符插入文件,并关闭文件。然后,再用输入方式打开文件file,读出所有数据,并输出到屏幕上。 #include iostream #include fstream using namespace std; int main() { ofstream out(file); ifstream in; int i; if (!out) {cerr create file error\n; return 1;} for (i = 1; i = 10; ++i) out i ; out.close(); in.open(file); if (!in) {cerr open file error\n; return 1;}
您可能关注的文档
- 2.2 离散型随机变量及其概率分布.ppt
- 2018 年广东省焊接技.pdf
- 中意人寿保险有限公司.pdf
- 电子阅览室设备及交互式智能平板触控.pdf
- 江门市党员教育中心 LED 显示屏.pdf
- 世界工厂的困境与中国期货市场的发展.ppt
- 中国煤炭生产企业.pdf
- 中国检验检疫进口机动车VIN管理系统企业用户手册.ppt
- 《出口鞋类质量安全手册》宣贯莆田.ppt
- 铜仁学院科研信息.pdf
- 2025年国家公务员考试《申论》真题(地市级)及参考答案(回忆版).pdf
- 2025年国家公务员考试《申论》真题(行政执法卷)及参考答案(回忆版).pdf
- 2025年浙江省公务员录用考试《行测》B类真题及答案解析(回忆版).docx
- 2025年浙江省公务员录用考试《行测》C类真题及答案解析(回忆版).docx
- 2025年浙江省公务员录用考试《行测》A类真题及答案解析(回忆版).pdf
- 2025年安徽省公务员录用考试《行测》真题及答案解析(回忆版).pdf
- 2025年江苏省公务员录用考试《行测》B类真题及答案解析(回忆版).pdf
- 2025年青海省公务员录用考试《行测》真题及答案解析(回忆版).pdf
- 2025年四川省公务员录用考试《行测》真题及答案解析(回忆版).pdf
- 2025年国家公务员考试《申论》真题(副省级)及参考答案(回忆版).pdf
文档评论(0)