首先,
需要加<fstream>头文件。(即file stream)
在包含这个头文件后,可使用三种类:
ofstream 写文件 (Output File Stream) 使用方法: 文件名<<内容<<endl;
ifstream 读文件 (Input File Stream) 使用方法:文件名>>内容;
fstream 打开文件供读写 (File Stream) 利用各种参数达到控制文件读写的目的
每个类都有相同的两种函数功能:
X.open("String"); //String为路径,也可以string str;X.open(str);(用string类,没有引号,但是string本身内容里最后4个单位应为.txt)
如果用fstream创建文件 必须加Ios::out.
X.close();
同一时间,同一文件只能由一种类进行操作。若需要换,必须先将此类指针关闭,再用需要的类的指针Open目标文件。
重点在fstream的使用:
fstream的open函数的参数定义了文件的打开模式。总共有如下模式:
file.open("file.ext",iso::in|ios::out)
1.默认模式是文本
2.默认如果文件不存在,那么创建一个新的
3.多种模式可以混合,用|(按位或)
4.文件的byte索引从0开始。(就像数组一样)
常用的错误判断方法:
good() 如果文件打开成功
bad() 打开文件时发生错误
eof() 到达文件尾
文件指针的使用:
相关函数:
seekg() tellg()
seekp() tellq()
以g结尾的,处理get指针(ifstream),以p结尾的,处理put指针(ofstream)
seekg/p(X,INF);
X为一个数,可为正可为负,INF为一个参数,该参数可为以下:
ios::beg 文件头
ios::end 文件尾
ios::cur 当前位置
整个函数表示将指针从INF处,移动X个单位。
例:seekg(-1,ios::end);表示把指针从文件尾向前移动一个字节。
tellg/p() //返回一个数,表示此时指针所在的位置。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ofstream Write;
Write.open("C:\\text.txt");
Write<<"Yeah!"<<endl<<"B"<<endl;
Write.close();
ifstream Read;
char str1[20];
Read.open("C:\\text.txt");
Read>>str1;
cout<<str1<<endl;
Read.close();
return 0;
}