1
第 16 周实验指导 标准输入输出流及 ASCII 文件操作
【目的】
1. 了解标准输入输出流对象的使用方法
2. 掌握利用文件流处理 ASCII 文件
【任务 0】程序阅读与运行
任务 0 可以不提交报告,提倡自由发挥,写一篇或长或短的随笔,谈谈自己这一部分学习的体会及
感想。(准备时看课本,上机时使用 BB 平台中提供的源代码。)
任务 0‐1:阅读教材例 13.4 到例 13.7 的程序,根据所用到的函数在功能上的限制,自己设计输入的
测试数据(有很“规矩”的,也有“使坏”的),运行程序。
(1)与自己的期望结果相对照,理解各个函数的用法;
(2)深入理解数据流类在设计时,为应用程序开发者提供的便利。
任务 0‐2:阅读教材例 13.11 到例 13.13 的程序并运行程序。对每一个例题,重点关注下面的问题:
(1)本例对文件进行了哪些操作,文件采用了哪种打开方式?
(2)本例题中如何实现从文件中输入/向文件输出?用到了哪种运算符或函数?
任务 0‐3:阅读下面的两段程序,说出程序的功能,并在上机时验证(自建 a.txt)。
//程序 1
#include<iostream>
#include<fstream>
usingnamespacestd;
intmain()
{ ifstreamreadFile;
ofstreamwriteFile;
charch;
readFile.open("a.txt",ios::in);
writeFile.open("b.txt",ios::out);
while(readFile.get(ch))
writeFile.put(ch);
readFile.close();
writeFile.close();
cout<<"Finish!"<<endl;
system("pause");
return0;
}
//程序 2
#include<iostream>
#include<fstream>
usingnamespacestd;
intmain()
{ ifstreamreadFile;
ofstreamwriteFile;
charch[100];
readFile.open("a.txt",ios::in);
writeFile.open("b.txt",ios::out);
while(!readFile.eof())
{ readFile.getline(ch,100,'');
writeFile.write(ch,strlen(ch));
writeFile.write("",1);
//writeFile<<ch<<'';可替代上两句
}
readFile.close();
writeFile.close();
cout<<"Finish!"<<endl;
system("pause");
return0;
}
任务 0‐4:选用任务 0‐3 中的一个程序,在 while 循环后输入 readFile.,屏幕上将列出 readFile 对象公
用的成员,用鼠标点击后提示成员函数的参数信息。逐个查看各个成员,猜测或体会其功能;对 writeFile
对象作同样的操作。
- 1
- 2
前往页