第13周-阅读项目3-对文本文件的访问
2015-06-10 08:58
399 查看
问题及代码:
运行结果:
问题及代码:
运行结果:
问题及代码:
运行结果:
知识点总结:
对文本文件的访问。
学习心得:
经常有写入文件的时候出现写入文件过大。。最多一次达到172M。。。
感觉和读取的源文件有关,但又不知道到底什么关系。。
#include<iostream> #include <fstream> #include<cstdlib> using namespace std; int main( ) { int a[10]; ofstream outfile("f1.dat",ios::out);//定义文件流对象,打开磁盘文件"f1.dat" if(!outfile) //如果打开失败,outfile返回0值 { cerr<<"open error!"<<endl; exit(1); } cout<<"enter 10 integer numbers:"<<endl; for(int i=0; i<10; i++) //向磁盘文件"f1.dat"输出数据 { cin>>a[i]; outfile<<a[i]<<" "; } cout<<"The numbers have been writen to file. "<<endl; outfile.close(); //关闭磁盘文件"f1.dat" return 0; }
运行结果:
问题及代码:
#include<iostream> #include <fstream> #include<cstdlib> using namespace std; int main( ) { int a[10],max,i,order; ifstream infile("f1.dat",ios::in); //定义输入文件流对象,以输入方式打开磁盘文件f1.dat if(!infile) { cerr<<"open error!"<<endl; exit(1); } for(i=0; i<10; i++) { infile>>a[i]; //从磁盘文件读入10个整数,顺序存放在a数组中 cout<<a[i]<<" "; } //在显示器上顺序显示10个数 cout<<endl; max=a[0]; order=0; for(i=1; i<10; i++) if(a[i]>max) { max=a[i]; //将当前最大值放在max中 order=i; //将当前最大值的元素序号放在order中 } cout<<"max="<<max<<endl<<"order="<<order<<endl; infile.close(); return 0; }
运行结果:
问题及代码:
#include<iostream> #include<fstream> #include<cstdlib> using namespace std; void save_to_file( ); void get_from_file(); int main( ) { save_to_file( ); //调用save_to_file( ),从键盘读入一行字符并将其中的字母存入磁盘文件f2.dat get_from_file( ); //调用get_from_file(),从f2.dat读入字母字符,改为大写字母,再存入f3.dat return 0; } // save_to_file函数从键盘读入一行字符,并将其中的字母存入磁盘文件 void save_to_file( ) { ofstream outfile("f2.dat"); //定义输出文件流对象outfile,以输出方式打开磁盘文件f2.dat if(!outfile) { cerr<<"open f2.dat error!"<<endl; exit(1); } char c[80]; cin.getline(c,80); //从键盘读入一行字符 for(int i=0; c[i]!=0; i++) //对字符逐个处理,直到遇′/0′为止 if((c[i]>=65 && c[i]<=90)||(c[i]>=97 && c[i]<=122))//如果是字母字符 { outfile.put(c[i]); //将字母字符存入磁盘文件f2.dat cout<<c[i]; } //同时送显示器显示 cout<<endl; outfile.close(); //关闭f2.dat } //从磁盘文件f2.dat读入字母字符,将其中的小写字母改为大写字母,再存入f3.dat void get_from_file() { char ch; ifstream infile("f2.dat",ios::in); //定义输入文件流outfile,以输入方式打开磁盘文件f2.dat if(!infile) { cerr<<"open f2.dat error!"<<endl; exit(1); } ofstream outfile("f3.dat"); //定义输出文件流outfile,以输出方式打开磁盘文件f3.dat if(!outfile) { cerr<<"open f3.dat error!"<<endl; exit(1); } while(infile.get(ch))//当读取字符成功时执行下面的复合语句 { if(ch>=97 && ch<=122) //判断ch是否为小写字母 ch=ch-32; //将小写字母变为大写字母 outfile.put(ch); //将该大写字母存入磁盘文件f3.dat cout<<ch; //同时在显示器输出 } cout<<endl; infile.close( ); //关闭磁盘文件f2.dat outfile.close(); //关闭磁盘文件f3.dat }
运行结果:
知识点总结:
对文本文件的访问。
学习心得:
经常有写入文件的时候出现写入文件过大。。最多一次达到172M。。。
感觉和读取的源文件有关,但又不知道到底什么关系。。
相关文章推荐
- 6.5 UITabBarController
- Climbing Stairs
- Javascript:谈谈JS的全局变量跟局部变量(转zyz511919766)
- C实现字符排列
- AngularJS入门教程:ng-options
- springMVC 开涛 数据绑定
- 数据结构系列之循环队列
- 不安装Oracle客户端,使用PLSQL连接Oracle服务器
- many-tp-one
- 第十二周项目一2
- 认识自己——做人要大气魄力,要经得住挑战
- 6.10 文件转移
- 面试集锦
- Hadoop 错误归档库
- android Graphics:区域(Region)
- 第14程序阅读 例6.2
- c/C++内存分配
- 第十三周项目三 立体族类的纯虚函数
- 认识自己——要用心感受世界
- 浅析JavaScript动画