文件读写
之前也是学了好多C++文件读写的办法,可是没有经过我的练习,导致我的大脑全忘了,好惨啊,感觉前面花费的时间都浪费了,这不,又翻了翻之前的书籍,也回忆了之前的一些知识,我就赶紧来写个博客,虽然文件读写有很多高级操作,但我还是想把基础打牢,就写写写文件的基础操作了;
写文件
在C++中,写文件是靠头文件 ofstream 完成的,它是一个类,父类为
fstream ,我们在使用它的时候要定义它的对象,比如
ofstream of
of 为 ofstream 的对象
既然要写文件,那肯定要有文件啊,我们可以随意找文本编辑器,我这就找记事本吧;
我将其命名为 xie.txt
一般写文件要经历以下四个步骤:
- 用ofstream 的构造函数打开文件,或者使用 open 函数打开文件
- 可以使用 流插入运算符 << ,进行写文件
- 调用 close 函数关闭文件,或者使用它的析构函数关闭文件
代码如下:
#include<iostream>
#include<fstream>
using namespace std;
int main(){
ofstream of;//打开文件流
of.open("xie.txt");
double lisi {20.2};
int wanger {23};
of<<"lisi"<<" "<<lisi<<endl;
of<<"wanger"<<" "<<wanger<<endl;
of.close();//关闭文件流
return 0;
}
编译运行后,文件中就有内容了
看看,和我们想输入的一样,成功了
读文件
接下来,我们看看读的操作,将文件的内容输出了标准输输出流上
读文件由头文件 ifstream 支持,父类为 fstream,我们要先定义一个它的对象
ifstream ifs
一般读文件有以下四步骤:
- 检查文件是否打开
- 用ifstream 的构造函数打开文件,或者使用 open 函数打开文件
- 使用流提取运算符 >> 读取文件内容
- 用close 函数关闭文件,或 ifstream的析构函数关闭文件
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main(){
ifstream ifs;
ifs.open("xie.txt");//打卡文件流
if(ifs.fail()){
cerr<<"文件打不开"<<endl;
}
string name=" ";
double score=0.0;
/*ifs>>name>>score; // 第一种方式
cout<<name<<" "<<score<<endl;
ifs>>name>>score;
cout<<name<<" "<<score<<endl;*/
char x;
while(!ifs.eof()){//第二种方式
ifs.get(x);
cout<<x;
}
ifs.close();//关闭文件流
return 0;
}
确定适合文件中的一样,那我们就成功了!!!
希望下次不要在忘记文件的读写了,我会多多实践的。