第14周-文件的写入与读出(多例)
2015-06-09 19:02
337 查看
/* *All rights reserved. *文件名称:main.cpp *作 者:姜 甜 甜 *完成日期:2015年6月1日 *版 本 号:v1.0 */
#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; }
2)定义输入文件流对象,以输入方式打开磁盘文件f1.dat
#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("f1.dat"); //定义输出文件流对象outfile,以输出方式打开磁盘文件f1.dat if(!outfile) { cerr<<"open f1.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]); //将字母字符存入磁盘文件f1.dat cout<<c[i]; } //同时送显示器显示 cout<<endl; outfile.close(); //关闭f1.dat } //从磁盘文件f1.dat读入字母字符,将其中的小写字母改为大写字母,再存入f3.dat void get_from_file() { char ch; ifstream infile("f1.dat",ios::in); //定义输入文件流outfile,以输入方式打开磁盘文件f1.dat if(!infile) { cerr<<"open f1.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 }
已存在的文件在使用时会刷新
例子:
#include <iostream> #include <fstream> using namespace std; int main() { fstream outfile,infile; outfile.open("data.dat",ios::out); outfile<<"1111111111"<<endl; outfile<<"aaaaaaaaaa"<<endl; outfile<<"AAAAAAAAAA"<<endl; outfile<<"**********"<<endl; outfile.close(); infile.open("data.dat",ios::in); char line[80]; int i=0; while(!infile.eof()) { i++; infile.getline(line,sizeof(line)); cout<<i<<": "<<line<<endl; } infile.close(); return 0; }
将从a中读入的数据输出到b
#include <iostream> #include <fstream> using namespace std; int main() { ifstream readFile; ofstream writeFile; char ch; 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; return 0; }
#include <iostream> #include <fstream> #include<cstring> using namespace std; int main() { ifstream readFile; ofstream writeFile; char ch[100]; readFile.open("a.txt", ios::in); writeFile.open("b.txt", ios::out); while (!readFile.eof()) { readFile.getline(ch,100,'\n'); writeFile.write(ch,strlen(ch)); writeFile.write("\n",1); } readFile.close(); writeFile.close(); cout << "Finish!" << endl; return 0; }
writeFile.write(ch,strlen(ch)); write open 函数
相关文章推荐
- AgileEAS.net 学习总结
- HttpURLConnection访问网络
- android分辨率
- 文献综述的格式、写作技巧及范例
- 不同方式遍历Map集合
- Google三大论文简单摘要
- 【Treap】[BZOJ 1208]宠物收养所
- ejb3中的@Schedule中的persistent属性的深入探索
- SecurityException: Binder invocation to an incorrect interface using in-app billing
- 黑马程序员——Foundation框架——包装类以及NSDate
- VC托盘程序的简单实现
- VC托盘程序的简单实现
- STL学习笔记之空间配置器
- Error when loading the SDK:发现了以元素 'd:skin' 开头的无效内容
- php实现工厂模式
- STL学习笔记之迭代器--iterator(源码剖析)
- ASM(一) 利用Core API 解析和生成字节码
- vs2010中添加qt的对话框
- bash元字符(上)
- OC6_类方法