第九章 编一个程序用于复制文本文件.docVIP

第九章 编一个程序用于复制文本文件.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、实验目的和任务 1)掌握文件流的打开、关闭及使用的使用方法; 2)了解文本文件流与二进制文件流在操作上的区别。 3)掌握C++格式控制的各种方法,熟练应用格式控制的各种方式。 4)掌握C++文件流的操作,熟练应用C++文件流的各种操作。 二、实验设备介绍 软件需求: Visual C++ 6.0 三、实验内容 题目1:编一个程序用于复制文本文件 题目2: 编一个程序从一个文本文件source.txt中读入若干整数,用选择法将这些数据排成升序,将排序后的结果写入另一个文件文本文件target.txt中。注意两个文件均在d盘的data文件夹中。 在程序运行前,先准备好输入数据文件source.txt,放入d盘的data文件夹中,内容可以如下: 程序运行结束后,查看d盘的data文件夹中的结果文件target.txt内容是否正确。 四、实验原理 1复制文本文件 Iostream类具有成员函数getline(),其功能是允许从输入流中读取多个字符,并且允许指定输入终止字符(默认值是换行字符),在读取完后,从读取的内容中删除该终止字符。然而该成员函数只能将输入结果存在字符数组中,字符数组的大小是不能自动扩展的,造成了使用上的不便。非成员函数getline()能够完成相同的功能,但可以将结果保存到string类型的对象中,更加方便。这一函数可以接受两个参数,前两个分别表示输入流和保存结果的string对象,第三个参数可选,表示终止字符。是用非成员的函数getline的声明在string头文件中。 C++程序: #includeiostream #includefstream using namespace std; int main(int argc,char* argv[]) { ifstream file_in(d:\\source.txt,ios::in); ofstream file_out(d:\\target.txt,ios::out); if(file_in.fail()) { cerr文件 fu.txt 打开失败!endl; return 1; } if(file_out.fail()) { cerr文件 wei.txt 打开失败!endl; return 1; } char nRead; while(file_innRead) file_outnRead; file_in.close(); file_out.close(); return 0; } 运行结果: 实验2 C++程序: #includeiostream #includefstream using namespace std; int main() { int i,j,temp,r[18]; const int n=18; ifstream file_in(D:\\source.txt,ios::in); if(file_in.fail()) { cerr文件 source.txt 打开失败!endl; return 1; } for(i=0;in;i++) { file_inr[i]; } file_in.close(); for(i=0;in;i++) for(j=i+1;jn;j++) { if(r[i]r[j]) { temp=r[j]; r[j]=r[i]; r[i]=temp; } } ofstream file_out(D:\\target.txt,ios::out); if(file_out.fail()) { cerr文件 target.txt 打开错误!endl; return 1; } for(i=0;in;i++) { file_outr[i] ; } file_out.close(); return 0; } 运行结果: 五、实验总结 通过本次试验,了解到了文本文件流与二进制文件流在操作上的区别,所谓文本流是指在流中流动的数据是以字符形式出现的。在文本流中,‘\n’被换成回车CR和换行LF的代码ODH和OAH。而当输出时替换成‘\n’。二进制文件流是指流动的是二进制数字序列,若流中有字符,则用一个字节的二进制ASCII码表示,若是数字,则用一个字节的二进制数表示。在流入流出时,对\n符号不进行变换。在程序编写调试时自己遇到了很多问题,还是不能灵活运用C++学习的相关知识,所以自己查阅了相关的资料,从而调试出了正确的结果,总之通过这次实验,自己收获颇多,在今后会多了解此方面的知识,将之灵活应用。 2 3 10 45 33 8 9 20 45 6

文档评论(0)

0520 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档