C++学习笔记:fstream,ifstream和oftream的区别
fstream
不会覆盖文件中原本的内容,会沿着内容最后一位继续写
ifstream
从文件中读取文件内容
ofstream
打卡文件后就将文件清空,再进行输入
例子
(1)ftream
#include<iostream>
#include<string>
#include<fstream>
#include<iomanip>using namespace std;struct student {int num;string name;float Mscore;float Cscore;
};int main() {student stu[8] ;float sum;fstream f("e:\\score.dat");for (int i = 0; i < 8; i++) {f >> stu[i].num >> stu[i].name >> stu[i].Mscore >> stu[i].Cscore;}for (int i = 0; i < 8; i++) {sum= stu[i].Cscore + stu[i].Mscore;f <<setiosflags(ios::left)<< setw(8)<<stu[i].num<<setw(10) <<stu[i].name <<setw(6)<< stu[i].Mscore << setw(6) << stu[i].Cscore<< setw(6) << sum<<endl;}
}
写入文件效果
(2)ofstream
#include<iostream>
#include<string>
#include<fstream>
#include<iomanip>using namespace std;struct student {int num;string name;float Mscore;float Cscore;
};int main() {student stu[8] ;float sum;ifstream ifil("e:\\score.dat");for (int i = 0; i < 8; i++) {ifil >> stu[i].num >> stu[i].name >> stu[i].Mscore >> stu[i].Cscore;}ifil.close();ofstream ofile("e:\\score.dat");for (int i = 0; i < 8; i++) {sum = stu[i].Cscore + stu[i].Mscore;ofile<< setiosflags(ios::left) << setw(8) << stu[i].num << setw(10) << stu[i].name << setw(6) << stu[i].Mscore << setw(6) << stu[i].Cscore << setw(6) << sum << endl;}
}
写入文件效果
C++学习笔记:fstream,ifstream和oftream的区别相关推荐
- VC++学习笔记(BITMAP与CBitmap的区别)
VC++学习笔记(BITMAP与CBitmap的区别) BITMAP是一个结构,保存了一些位图的信息: CBitmap是个类,用法:CBitmap bitmap;//创建对象 bitmap.LoadB ...
- ASP.Net学习笔记003--网站和WebApplication的区别
以前写的课程都没有附上源码,很抱歉! 课程中的源码可以加qq索要:1606841559 技术交流qq1群:251572072 技术交流qq2群:170933152 也可以自己下载: ASP.Net学习 ...
- OC语言篇—学习笔记1—C和OC的区别
学习笔记1-C和OC的区别 1.文件的后缀名 OC:类的头文件 .h,类的实现文件 .m C:类的头文件 .h,类的实现文件.c 2.导入头文件方式 C语言使用include导入头文件,如果想多次引用 ...
- angular2 学习笔记 ( Rxjs, Promise, Async/Await 的区别 )
Promise 是 ES 6 Async/Await 是 ES 7 Rxjs 是一个 js 库 在使用 angular 时,你会经常看见这 3 个东西. 它们都和异步编程有关,有些情况下你会觉得用它们 ...
- 学习笔记-nil NULL NSNull Nil的区别
nil--表示实例对象为空 例如 NSString * string = nil; NSArray * arr ...
- (JAVA学习笔记) 关于i++和++i的区别
关于i++和++i的区别 首先看下面一串代码: int i=0;int a = i++;System.out.println("a="+a);System.out.println( ...
- jQuery学习笔记:attr()与prop()的区别
先看看官方文档是如何解释两者之间功能差异的: attr() Get the value of an attribute for the first element in the set of matc ...
- 学习笔记day5:inline inline-block block区别
1. block元素可以包含block元素和inline元素:但inline元素只能包含inline元素.要注意的是这个是个大概的说法,每个特定的元素能包含的元素也是特定的,所以具体到个别元素上,这条 ...
- 目标检测学习笔记-3D摄像头与 2D摄像头区别
1. 2D&3D 的定义 首先2D,3D 的D 是什么意思?D 全称是Dimensional,翻译中文为维度.中文解译2D,3D 为二维,三维. 2. 2D 和3D 区别 如果从数学,物理角度 ...
最新文章
- 读《高效程序员的45个习惯——敏捷开发修炼之道》
- Data truncation: Truncated incorrect DOUBLE value 解决方案
- Java 详解 JVM 工作原理和流程
- Jquery 概念性内容编辑器
- 应对Windows XP黑屏
- 算法题目——二次函数三分求极值(HDU-3714)
- aws s3 獲取所有文件_AWS SA associate 证书考试学习记录-EBS,S3,EFS比较
- jquery表单验证
- python将Unix时间戳转换成时间
- cte公用表表达式_在SQL Server中使用CTE进行插入和更新(公用表表达式)
- 力扣-872 叶子相似的树
- 庖丁解牛之spring源码系列二 spring bean生命周期介绍
- Qt 学习之路 2(84):Repeater
- 真假屏幕测试软件,如何判断4K电视真假?测试方法在这里,最简单用手机就可以...
- FMI飞马网【线上直播】大数据安全实践
- RTI DDS 记录
- IDEA 中 project窗口,不显示项目工程目录,解决方法
- tt作曲家简谱打谱软件_作曲家入门指南
- keil编译c语言检测,keil c中没有使用到的函数会编译时候会有警告
- 怎么利用外链快速上排名?