C++读写操作ofstream(数据丢失问题)
ofstream的使用方法
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;
ofstream 该数据类型表示输出文件流,用于创建文件并向文件写入信息
ifstream 该数据类型表示输入文件流,用于从文件读取信息。
fstream 该数据类型通常表示文件流,且同时具有 ofstream 和 ifstream 两种功能,这意味着它可以创建文件,向文件写入信息,从文件读取信息。
打开文件
在从文件读取信息或者向文件写入信息之前,必须先打开文件
ofstream 和 fstream 对象都可以用来打开文件进行写操作,如果只需要打开文件进行读操作,则使用 ifstream 对象。
open() 函数的标准语法,open() 函数是 fstream、ifstream 和 ofstream 对象的一个成员
void open(const char *filename, ios::openmode mode);//第一参数指定要打开的文件的名称和位置,第二个参数定义文件被打开的模式
对于第二个参数
ios::app 追加模式。所有写入都追加到文件末尾。
ios::ate 文件打开后定位到文件末尾。
ios::in 打开文件用于读取。
ios::out 打开文件用于写入。
ios::trunc 如果该文件已经存在,其内容将在打开文件之前被截断,即把文件长度设为 0
用法
ofstream out;
out.open("data.txt", ios::binary | ios::app | ios::in | ios::out);//输出为data.txt文件
out<<"内容"<<"\n";
out.close(); //关闭文件
注意ofstream持续写入文件,数据丢失的问题
对于for循环,持续写入文件,如下,全部写在for循环中,数据特别多时,不会丢失数据
int main()
{ofstream out;
for(int i;i<xx.size();++i){out.open("data.txt", ios::binary | ios::app | ios::in | ios::out);//输出为data.txt文件out<<"内容"<<"\n";out.close(); //关闭文件}
}
如果这么写,将out.open写在for之外,一旦程序复杂,输出数据量特别大时,数据将可能发生丢失
int main()
{ofstream out;
out.open("data.txt", ios::binary | ios::app | ios::in | ios::out);//输出为data.txt文件
for(int i;i<xx.size();++i){out<<"内容"<<"\n"; }out.close(); //关闭文件
}
并且千万要记得close掉文件。
C++读写操作ofstream(数据丢失问题)相关推荐
- C++ builder 的文件读写操作总结
C++ builder 的文件读写操作总结 在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是: 1.基于 ...
- C/C++ 文件读写操作总结
C/C++ 文件读写操作总结 在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是: 1.基于C的文件操作: ...
- C/C++文件读写操作 —— windowsAPI
转自:http://blog.sina.com.cn/s/blog_6e7fed390100z0j1.html 基于C的文件操作 在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件 ...
- C/C++文件读写操作总结:FILE*、fstream、windowsAPI
CFile file;CString FileName = _T("C:\\Users\\zhan\\Desktop\\自写测试数据\\100.txt");file.Open(Fi ...
- C/C++文件读写操作——FILE*、fstream、windowsAPI
转载自: http://blog.sina.com.cn/s/blog_6e7fed390100z0j1.html 基于C的文件操作 在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O ...
- C++中的文件读写操作(1)
#include "iostream" #include "fstream" #include "vector" #include &quo ...
- C++ I/O文件读写操作
文章目录 IO: 向设备输入数据和输出数据C++的IO流 写文件 读文件 对二进制文件流读写 写二进制文件 读二进制文件 对文件流按格式读写取数据 按指定格式读文件 文件流的状态检查 文件流的定位 获 ...
- c语言读取ascii文件,C++对ASCII文件的读写操作
如果文件的每一个字节中均以ASCII代码形式存放数据,即一个字节存放一个字符,这个文件就是ASCII文件(或称字符文件).程序可以从ASCII文件中读入若干个字符,也可以向它输出一些字符. 对ASCI ...
- fstream —文件读写操作
一.fstream 文件输入输出流 1.文件读写的三种类型 ifstream:从一个给定文件中读取数据 . ofstream:向一个给定的文件中写入数据 fstream:可以读写给定的文件. 它可以用 ...
- pcd、jpg、raw、txt、二进制文件的读写操作
文件的读写 1. pcd文件 2. jpg 文件 3. 文本文件和二进制文件 3.1 txt 文件的读写操作 3.2 二进制文件的读写操作 4. raw文件 1. pcd文件 PCD:point cl ...
最新文章
- CUDA 11功能清单
- docker 主机ip_docker容器指定ip
- Spring-AOP实践 - 统计访问时间
- stm32 JTag 错误
- 解答:为什么蚊子咬的包会痒痒
- distance from ifm to Sidney Sussex College: acceptable
- servlet ---- servlet入门
- NPM酷库:uuid,生成随机ID
- 解决Node.js 运行的时候出现中文乱码问题
- jquery值ajaxForm
- 各个省市mysql表附带行政id(一)
- 计算机视觉——图像拼接
- html的window效果,HTML+CSS+JS模仿win10亮度调节效果
- 【十年签证】办理美国签证流程详解
- 查看微信中撤回的图片(RIO)
- gitBlit的使用
- Laravel 用户认证中 attempt方法
- 孙叫兽VUE学习笔记总结(值得收藏),很全很详细!!!
- Python暴力破解网站登录密码脚本
- java获取屏幕截图_java 利用java运行时的方法得到当前屏幕截图的方法
热门文章
- bert获取词向量做textcnn文本分类
- 广发多空杠杆浮动杠杆率计算
- Android Studio制作简易音乐盒
- 基于 Sphinx 以纯文本编写富媒体项目文档的方法介绍
- 594万奖金池!行人重识别、遥感图像语义分割等赛事全面启动!2020 年全国人工智能大赛来了...
- 594万元奖金 | “2020 年全国人工智能大赛”重磅启动
- 优秀开源项目之二:流媒体直播系统Open Broadcaster Software
- linux查ip出现fe80,ubuntu IP出现inet6 addr :fe80::20c:29ff:fe47:fd61/64 scope:l
- 吉林大学计算机科学与技术学院校训,名校校训
- 大学计算机考试59分,大学期末考59分,你会找老师理论吗?很多人都猜错