学习记录--C++文件读入与存储
C++中对文件操作需要包含头文件<fstream>
操作文件的三大类:1.ofstream写操作 2.ifstream读操作 3.fstream读写操作
一.写文件步骤
1.包含头文件 #include<fstream>
2.创建流对象 ofstream ofs;
3.打开文件 ofs.open("文件路径",打开方式);
4.写数据 ofs<<"写入的数据";
5.关闭文件 ofs.close();
文件打开方式:
| 打开方式 | 解释 |
| ios::in | 为读文件而打开文件 |
| ios::out | 为写文件而打开文件 |
| ios::ate | 初始位置:文件尾 |
| ios::app | 追加方式写文件 |
| ios::trunc | 如果文件存在先删除,再创建 |
| ios::binary | 二进制方式 |
文件打开方式可以配合使用:利用" | "操作符
Example:写入文件
#include<iostream>
#include<fstream>//所要包含的头文件
using namespace std;
void test()
{
//创建流对象
ofstream ofs;
//指定打开的方式
ofs.open("test.txt", ios::out);//没有指定路径,就会与项目路径一致
//4.写内容
ofs << "姓名:JIN" << endl;
//5.关闭文件
ofs.close();
}
int main()
{
test();
system("pause");
return 0;
}
读文件
1.包含头文件 #include<fstream>
2.创建流对象 ifstream ifs;
3.打开文件并判断文件是否打开成功
ifs.open("文件路径",打开方式);
4.读数据 四种方式读数据
5.关闭文件 ifs.close();
Example:读入文件
#include<iostream>
#include<fstream>
using namespace std;
//读文件
void test()
{
//创建流对象
ifstream ifs;
ifs.open("test.txt", ios::in);//在代码存储的同一个文件路径下
//判断是否打开成功
if (!ifs.is_open())
{
cout << "文件打开失败!" << endl;
//当这个文件不存在或其它意外
}
//读数据
//第一种
char ch[100] = { 0 };
//如果文档中遇到一个换行符或者空格就会判断下一个
while (ifs >> ch)
{
cout << ch << endl;
}
ifs.close();
} int main()
{
test();
system("pause");
return 0;
}
第二种读入方式
//ifs的一个函数getline()可以读取一行数据,需要传入两个参数
//数组首地址,存储的字节数在这里指数组提供的空间
while (ifs.getline(ch, sizeof(ch)))
{
cout << ch << endl;
}
第三种读入方式
//不使用字符数组,而使用C++中的字符串string
string ch;
while (getline(ifs, ch))//使用函数getline
{
cout << ch << endl;
}
注意:一定要关闭文件 !
Importance
员工管理系统使用读写文件
学习记录--C++文件读入与存储的更多相关文章
- ElasticSearch 学习记录之 分布式文档存储往ES中存数据和取数据的原理
分布式文档存储 ES分布式特性 屏蔽了分布式系统的复杂性 集群内的原理 垂直扩容和水平扩容 真正的扩容能力是来自于水平扩容–为集群添加更多的节点,并且将负载压力和稳定性分散到这些节点中 ES集群特点 ...
- hadoop学习记录--hdfs文件上传过程源码解析
本节并不大算为大家讲接什么是hadoop,或者hadoop的基础知识因为这些知识在网上有很多详细的介绍,在这里想说的是关于hdfs的相关内容.或许大家都知道hdfs是hadoop底层存储模块,专门用于 ...
- Java学习记录:文件的输入输出流
Java中的输入.输出流中可以用于文件的读写,拷贝. 由于文件都是由字节组成的,可以将文件中的内容以字节的方式读取出来. 输入流还可以直接转换为图片来使用.其实ImageIcon提供了方法可以直接打开 ...
- Linux 学习记录 二 (文件的打包压缩).
前言:本文参考<鸟哥的Linux 私房菜>,如有说的不对的地方,还请指正!谢谢! 环境:Centos 6.4 和window不同,在Linux压缩文件需要注意的是,压缩后的文件会 ...
- C#学习记录二:高级数据存储方式
1,结构 结构和类的区别主要在于存储和访问方式,结构是一种值 数据类型,而类是一一种引用数据类型.所谓值数据类型存储个人理解是存在堆里面的,所谓引用数据类型存储在了栈里面,相当于存储了一个指针. 结构 ...
- Linux 学习记录二(文件的打包压缩).
和 window不同,在Linux压缩文件需要注意的是,压缩后的文件会把源文件给替代,无论是gzip.bzip2.xz 均不支持压缩目录,要达到压缩目录的目的,需要用到tar指令. gzip 压缩 ...
- python核心编程学习记录之文件和输入输出
- ElasticSearch 学习记录之如任何设计可扩容的索引结构
扩容设计 扩容的单元 一个分片即一个 Lucene 索引 ,一个 Elasticsearch 索引即一系列分片的集合 一个分片即为 扩容的单元 . 一个最小的索引拥有一个分片. 一个只有一个分片的索引 ...
- ElasticSearch 学习记录之ES几种常见的聚合操作
ES几种常见的聚合操作 普通聚合 POST /product/_search { "size": 0, "aggs": { "agg_city&quo ...
- ElasticSearch 学习记录之ES短语匹配基本用法
短语匹配 短语匹配故名思意就是对分词后的短语就是匹配,而不是仅仅对单独的单词进行匹配 下面就是根据下面的脚本例子来看整个短语匹配的有哪些作用和优点 GET /my_index/my_type/_sea ...
随机推荐
- node.js 新手快速入门
我当初学的时候,是在大大们的指导下开始学习的,用了3天搞定大大们给的任务.下面我就把这个经历分享出来,让大家借鉴一下.欢迎吐槽~~ 任务如下: 根据Node js 开发入门教程第五章的一个使用node ...
- Little Tiger vs. Deep Monkey(hdu4815)01背包
题:http://acm.hdu.edu.cn/showproblem.php?pid=4815 题意:已知n个题以及每个题答对的得分,给出p概率 小老虎vs小猴子答题:已知小猴子随机答题,请问老虎至 ...
- 在安装SDK8.1和Visual Studio 2017时,提示“已停止工作”
解决办法:在微软官网下载 .net framework 的最新的开发包(Build apps - Dev Pack),重新安装后问题得到解决. https://dotnet.microsoft.com ...
- Java-【大数处理】和【日期类】
[大数类] BigInteger(整数) 和 BigDecimal(小数) 都是Java针对大数提供的类 常用方法: (1)加:add (2)减:subtract (3)乘:multiply (4)除 ...
- Java根据经纬度计算两点之间的距离
public final class DistanceUtils { /** * 地球半径,单位 km */ private static final double EARTH_RADIUS = 63 ...
- CIC滤波器
CIC滤波器是滑动平均滤波器的非常高效的迭代实现,只需要一个减法和一个加法,而滑动平均需要N-1个加法. cic滤波器相当于一个梳状滤波器y(n)=x(n)-x(n-D),H(z)=1-z-D,和一个 ...
- Peer Review
What are Peng (Bob) Chi's top 3 strengths? Can you give an example of how one or two of those stren ...
- flume 拦截器
目的:功能1:判断json文件,如何格式合格则正常传输,否则就不传输 功能2:判断出合格的json文件,并且key值中包含"date"才进行传输 一.创建一个Json的工具类 pa ...
- SQL注入绕过某waf的详细过程。
0x00起因 看到大家都有绕waf的payload,想了想,这样下去不行啊.总不能找人家要吧,于是我开启了电脑,开始我的bypass之路. 0x01过程 准备完毕后,开始,首先判断注入and 1=1 ...
- CORS预检
CORS是一种常见的跨域机制,一般由服务端提供一个Access-Control-Allow-Origin头来解决问题,但是这仅对一些"简单请求"有效.那么何谓"简单请求& ...