标准输入输出流与文件输入输出流的关系图:
文件输出流头文件“ofstream/fstream”,文件输入流头文件“ifstream/fstream”
1.1.打开文件方式:流类 对象名(文件名,方式); //文件路径填写方式"D\\新建文件夹\\X目录\\Y.bat";
1.2.打开文件用 对象名.open(文件路径,ios::in); //以输出流/读方式打开文件;
1.3.打开文件用 对象名.open(文件路径,ios::in); //以输入流/写方式打开文件;
1.4.打开文件用 对象名.open(文件路径,ios::in|ios::out); //以输入输出流/读写方式打开文件;
1.5.打开文件用 对象名.open(文件路径,ios::app); //以追加/写方式打开文件;
1.6.打开二进制文件 对象名.open(文件路径,ios::binary|ios::in|ios::out);
2.关闭文件用 对象名.close();
3.1.判断文件结束符 对象名.eof();
3.2.判断文件结束语句 long posEnd=对象名.tellg/p(); while(对象名.tellg/g()!=posEnd);
例子:
//1.新建一个文件,并录入数据到文件里
/*
#include<iostream.h>
#include<stdlib.h>
#include<fstream.h>
void main(){
fstream iofs;
char *p,str[80],str1[80];
p=&str[1];
cin>>p;
iofs.open(p,ios::in|ios::out);
if(!iofs){ cout<<"Open iofs error!"<<endl; return ; }
while(cin>>str&&!iofs.eof()){ iofs<<str<<endl; }
iofs.close();
} */
//2.显示文件里的内容
/*
#include<iostream.h>
#include<stdlib.h>
#include<fstream.h>
void main(){
fstream iofs;
char *p,str[80],str1[80];
p=&str[1];
cin>>p;
iofs.open(p,ios::in);
iofs.getline(str1,80);
//do{ cout<<str1<<endl; iofs.getline(str1,80); }while(!iofs.eof());
while(!iofs.eof()){ cout<<str1<<endl; iofs.getline(str1,80); }
}*/
//3.追加数据到文件里
/*
#include<iostream.h>
#include<stdlib.h>
#include<fstream.h>
void main(){
fstream iofs;
char *p,str[80],str1[80];
p=&str[1];
cin>>p;
iofs.open(p,ios::app);
if(!iofs){ cout<<"Open iofs error!"<<endl; return ;}
while(cin>>str){
iofs<<str<<endl; }
iofs.close();
} */
原文:https://www.cnblogs.com/WE-ON-LINE/p/11821386.html