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的区别相关推荐

  1. VC++学习笔记(BITMAP与CBitmap的区别)

    VC++学习笔记(BITMAP与CBitmap的区别) BITMAP是一个结构,保存了一些位图的信息: CBitmap是个类,用法:CBitmap bitmap;//创建对象 bitmap.LoadB ...

  2. ASP.Net学习笔记003--网站和WebApplication的区别

    以前写的课程都没有附上源码,很抱歉! 课程中的源码可以加qq索要:1606841559 技术交流qq1群:251572072 技术交流qq2群:170933152 也可以自己下载: ASP.Net学习 ...

  3. OC语言篇—学习笔记1—C和OC的区别

    学习笔记1-C和OC的区别 1.文件的后缀名 OC:类的头文件 .h,类的实现文件 .m C:类的头文件 .h,类的实现文件.c 2.导入头文件方式 C语言使用include导入头文件,如果想多次引用 ...

  4. angular2 学习笔记 ( Rxjs, Promise, Async/Await 的区别 )

    Promise 是 ES 6 Async/Await 是 ES 7 Rxjs 是一个 js 库 在使用 angular 时,你会经常看见这 3 个东西. 它们都和异步编程有关,有些情况下你会觉得用它们 ...

  5. 学习笔记-nil NULL NSNull Nil的区别

    nil--表示实例对象为空  例如  NSString * string = nil;                                            NSArray * arr ...

  6. (JAVA学习笔记) 关于i++和++i的区别

    关于i++和++i的区别 首先看下面一串代码: int i=0;int a = i++;System.out.println("a="+a);System.out.println( ...

  7. jQuery学习笔记:attr()与prop()的区别

    先看看官方文档是如何解释两者之间功能差异的: attr() Get the value of an attribute for the first element in the set of matc ...

  8. 学习笔记day5:inline inline-block block区别

    1. block元素可以包含block元素和inline元素:但inline元素只能包含inline元素.要注意的是这个是个大概的说法,每个特定的元素能包含的元素也是特定的,所以具体到个别元素上,这条 ...

  9. 目标检测学习笔记-3D摄像头与 2D摄像头区别

    1. 2D&3D 的定义 首先2D,3D 的D 是什么意思?D 全称是Dimensional,翻译中文为维度.中文解译2D,3D 为二维,三维. 2. 2D 和3D 区别 如果从数学,物理角度 ...

最新文章

  1. 读《高效程序员的45个习惯——敏捷开发修炼之道》
  2. Data truncation: Truncated incorrect DOUBLE value 解决方案
  3. Java 详解 JVM 工作原理和流程
  4. Jquery 概念性内容编辑器
  5. 应对Windows XP黑屏
  6. 算法题目——二次函数三分求极值(HDU-3714)
  7. aws s3 獲取所有文件_AWS SA associate 证书考试学习记录-EBS,S3,EFS比较
  8. jquery表单验证
  9. python将Unix时间戳转换成时间
  10. cte公用表表达式_在SQL Server中使用CTE进行插入和更新(公用表表达式)
  11. 力扣-872 叶子相似的树
  12. 庖丁解牛之spring源码系列二 spring bean生命周期介绍
  13. Qt 学习之路 2(84):Repeater
  14. 真假屏幕测试软件,如何判断4K电视真假?测试方法在这里,最简单用手机就可以...
  15. FMI飞马网【线上直播】大数据安全实践
  16. RTI DDS 记录
  17. IDEA 中 project窗口,不显示项目工程目录,解决方法
  18. tt作曲家简谱打谱软件_作曲家入门指南
  19. keil编译c语言检测,keil c中没有使用到的函数会编译时候会有警告
  20. 怎么利用外链快速上排名?

热门文章

  1. 【Python界面设计】Tkinter的Listbox控件
  2. RestTemplateConfig
  3. JDBC jar下载
  4. mac版微信复制多个消息
  5. 标量、向量、矩阵求导大全
  6. head first java 最新版_Head First Java.(第2版)
  7. 公司企业兔年祝福元旦祝福贺卡邀请函模板!
  8. 智能家居 打造一间乐享智能生活的“聪明屋”
  9. 【DL】第 6 章:语言建模
  10. 【CSS】input输入框如何去掉点击后出现的边框