首页 > 代码库 > c++文件输入输出流fstream,对输入>>和输出<<重载
c++文件输入输出流fstream,对输入>>和输出<<重载
1. fstream 继承自iostream --> 要包含头文件#include<fstream>
2. 建立文件流对象
3. 打开文件夹
4. 测试是否打开成功
5. 进行读写操作
6. 关闭文件
#include<iostream>#include<fstream>using namespace std;int main(){ ifstream ifile; ofstream ofile; ifile.open("d:\\fileIn.txt"); ofile.open("d:\\fileOut.txt"); if (ifile.fail() || ofile.fail()){ cerr << "open file fail\n"; return EXIT_FAILURE; } char ch; ch = ifile.get(); cout << ch << endl; while (!ifile.eof()){ ofile.put(ch); ch = ifile.get(); } ifile.close(); ofile.close(); int i; cin >> i; return 0;}
输入三个学生的姓名,学好,年龄和住址,并存入文件中,再从文件中读出来:
1 #include<iostream> 2 #include<fstream> 3 using namespace std; 4 5 class student{ 6 public: 7 char name[10]; 8 int num; 9 int age;10 char addr[20];11 friend ostream & operator<<(ostream &out, student &s);12 friend istream & operator>>(istream &in, student &s);13 };14 ostream & operator<<(ostream &out, student &s){15 out << s.name << " " << s.num << " " << s.age << " " << s.addr << endl;16 return out;17 }18 istream & operator>>(istream &in, student &s){19 in >> s.name >> s.num >> s.age >> s.addr;20 return in;21 }22 int main(){23 ifstream ifile;24 ofstream ofile;25 ofile.open("d:\\s.txt");26 27 student s;28 for (int i = 1; i <= 3; i++){29 cout << "请输入第" << i << "个学生的姓名 学号 年龄 地址" << endl;30 cin >> s; //调用>>运算符重载函数,输入学生信息31 ofile << s; //调用<<运算符重载函数,将学生信息写入到文件中32 }33 ofile.close();34 35 cout << "\n读出文件内容" << endl;36 ifile.open("d:\\s.txt");37 ifile >> s;38 while (!ifile.eof()){39 cout << s;40 ifile >> s;41 }42 ifile.close();43 int i;44 cin >> i;45 return 0;46 }
结果:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。