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 ;
- }
输入三个学生的姓名,学好,年龄和住址,并存入文件中,再从文件中读出来:
- #include<iostream>
- #include<fstream>
- using namespace std;
- class student{
- public:
- char name[];
- int num;
- int age;
- char addr[];
- friend ostream & operator<<(ostream &out, student &s);
- friend istream & operator>>(istream &in, student &s);
- };
- ostream & operator<<(ostream &out, student &s){
- out << s.name << " " << s.num << " " << s.age << " " << s.addr << endl;
- return out;
- }
- istream & operator>>(istream &in, student &s){
- in >> s.name >> s.num >> s.age >> s.addr;
- return in;
- }
- int main(){
- ifstream ifile;
- ofstream ofile;
- ofile.open("d:\\s.txt");
- student s;
- for (int i = ; i <= ; i++){
- cout << "请输入第" << i << "个学生的姓名 学号 年龄 地址" << endl;
- cin >> s; //调用>>运算符重载函数,输入学生信息
- ofile << s; //调用<<运算符重载函数,将学生信息写入到文件中
- }
- ofile.close();
- cout << "\n读出文件内容" << endl;
- ifile.open("d:\\s.txt");
- ifile >> s;
- while (!ifile.eof()){
- cout << s;
- ifile >> s;
- }
- ifile.close();
- int i;
- cin >> i;
- return ;
- }
结果:
c++文件输入输出流fstream,对输入>>和输出<<重载的更多相关文章
- C++输入输出流 cin/cout 及格式化输出简介
C++ 可通过流的概念进行程序与外界环境( 用户.文件等 )之间的交互.流是一种将数据自源( source )推送至目的地( destination )的管道.在 C++ 中,与标准输入/输出相关的流 ...
- C++ 输入输出流 文本文件 二进制文件读写
文本文件/ASCII文件(能直接显示内容,费存储空间):文件中每一个字节中均以ASCII代码形式存放数据,即一个字节存放一个字符,这个文件就是ASCII文件或称字符文件. 二进制文件(不能显示内容,节 ...
- C++ STL——输入输出流
[TOC] 注:原创不易,转载请务必注明原作者和出处,感谢支持! 注:内容来自某培训课程,不一定完全正确! 一 缓冲区 (1)标准输入:从键盘输入数据到程序(input) (2)标准输出:程序数据输出 ...
- Day 18:SequenceInputStream、合并切割mp3、对象输入输出流对象
SequenceInputStream用例题讲述用法 需求:1.把a.txt与b.txt 文件的内容合并 2.把a.txt与b.txt .c.txt文件的内容合并 import java.io.Fil ...
- Java工具类-输入输出流
输入输出流 1.概念 输入输出流:文件复制,上传 输出流: System.out.println() 写操作,程序将字符流写入到"目的地",比如打印机和文件等 输入流 :Scann ...
- iostream/fstream中的输入输出流指针的绑定,tie函数的使用。
为了兼容c语言的输入输出,c++里面采用tie将输入输出流经行绑定,所以cin/cout并不是独立的.当执行cin时,cout同时会被执行.反之亦然. by defalut,cin is tied ...
- C++标准程序库的输入输出流(I/O Stream)复制文件(4种方法)
使用C++标准程序库的输入输出流(I/O Stream)复制文件,存在许多的方法, 方法一:逐个字符复制#include < fstream > std::ifstream ...
- Java文件操作与输入输出流
文件操作 package ch15; import java.io.*; /** * Created by Jiqing on 2016/12/28. */ public class FileTest ...
- 2013级C++第15周(春)项目——输入输出流及文件文件操作
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759.内有完整教学方案及资源链接 本周程序阅读及程序调试中须要的文件,请到htt ...
随机推荐
- 跳跃的舞者,舞蹈链(Dancing Links)算法——求解精确覆盖问题
精确覆盖问题的定义:给定一个由0-1组成的矩阵,是否能找到一个行的集合,使得集合中每一列都恰好包含一个1 例如:如下的矩阵 就包含了这样一个集合(第1.4.5行) 如何利用给定的矩阵求出相应的行的集合 ...
- hdu1695 GCD(莫比乌斯反演)
题意:求(1,b)区间和(1,d)区间里面gcd(x, y) = k的数的对数(1<=x<=b , 1<= y <= d). 知识点: 莫比乌斯反演/*12*/ 线性筛求莫比乌 ...
- webgl动画小测试
// MultiPoint.js (c) 2012 matsuda // Vertex shader program var VSHADER_SOURCE = 'attribute vec4 a_Po ...
- [LeetCode] Delete Duplicate Emails 删除重复邮箱
Write a SQL query to delete all duplicate email entries in a table named Person, keeping only unique ...
- FineUI(专业版)v3.0.0 发布,手机、平板和桌面全支持!
FineUI(专业版)v3.0.0 已经正式发布,全面支持手机.平板和桌面! 自 2008 年 4 月发布第一个版本,我们持续更新了 126 个版本,拥有 16000 多位注册用户,130 ...
- sstream
sstream用法 #include<iostream> #include<sstream> #include<string> using namespace st ...
- BPM问题
1.安装XFormDesigner后编辑界面报错 解决方法:
- root与普通用户的切换
普通用户切换到root用户:sudo su - root用户切换到普通用户:su henie
- vcf格式
Variant Call Format(VCF)是一个用于存储基因序列突变信息的文本格式.表示单碱基突变, 插入/缺失, 拷贝数变异和结构变异等.BCF格式文件是VCF格式的二进制文件. CHROM ...
- IntelliJ运行下载的Servlet时报错 Error running Tomcat 8.5.8: Unable to open debugger port (127.0.0.1:49551): java.net.SocketException
学习Java Servlet时,从Wrox上下载了示例代码,准备run/debug时发现以下错误: Error running Tomcat 8.5.8: Unable to open debugge ...