本文介绍关于c++文件读写的基础知识
本文适合纯小白,各路大神请谨慎观看……
1.简单介绍一下IO类
c++标准库中有三种IO类
1.iostream(输入输出)(cin,一个istream对象,从标准输入读取 数据)(cout,一个ostream对象,从标准输出写入数据)
2.fstream(文件输入输出)
#include <fstream>
ofstream //文件写操作 ,内存写入存储设备
ifstream //文件读操作,存储设备读区到内存中
fstream //读写操作,对打开的文件可进行读写操作
3.sstream(字符串输入输出)
更详细的IO类介绍点这里
2.打开文件(这里就只以打开写入文件举例啦)
首先插一句,可以使用成员函数is_open()对文件是否打开进行验证
方式一
ofstream outfile;//也可以用fstream
outfile.open("output.txt");//output.txt为文件的名字
方式二(看起来高级点)
ofstream outfile;
outfile.open("output.txt",ios::out | ios::trunc );
//如果您想要以写入模式打开文件,并希望截断文件,以防文件已存在,那么您可以使用上面的语法
//后面加上的东西看代码的具体情况啦
ios::out | 为输出(写)而打开文件 |
ios::ate | 初始位置:文件尾 |
ios::app | 所有输出附加在文件末尾 |
ios::trunc | 如果文件已存在则先删除该文件 |
ios::binary | 二进制形式 |
方式三
//很多程序中,可能会碰到ofstream out("Hello.txt"), ifstream in("..."),fstream foi("...")这样的的使用,
//并没有显式的去调用open()函数就进行文件的操作,直接调用了其默认的打开方式,
//因为在stream类的构造函数中调用了open()函数,并拥有同样的构造函数,
//所以在这里可以直接使用流对象进行文件的操作,默认方式如下
ofstream outfile("output.txt")
3.关闭文件
用函数close()
4.我们看个具体的代码好了
#include <iostream>
#include <fstream>//注意头文件
using namespace std;
int main()
{
ifstream infile;
infile.open("input.txt");//打开只读文件
cout<<"开始读取文件"<<endl;
int data;
infile>>data;//从文件读入
ofstream outfile;
outfile.open("output.txt");//打开写入的文件
cout<<"开始对文件进行写入"<<endl;
outfile<<data<<endl;
infile.close();
outfile.close();//关闭文件
return 0;
}
运行结果:开始读取文件 开始对文件进行写入
如果input.txt中第一个数据为100
那么output.txt中最后只会出现100这个数字