C++中输入输出流及文件流操作总结

2020-01-06 15:51:54于海丽

常用函数

打开文件:  

C++,输入输出流,文件流

方式1:对文件输出流、文件流对象,通过ofstream类的构造函数打开文件

    格式: ofstream (磁盘文件名, 输入输出方式);     

    如果ofstream  为0(假),表示打开操作失败

    如:   ofstream fout1(fname,ios::out);

    输入输出方式可以使用能够进行组合使用的,以“或”运算(“|”)的方式,如:fstream fout(fname,ios::out|ios::in)

方式2:对文件的输出和输入流对象、文件流对象,都可通过open函数打开文件

    格式: 文件流对象.open(磁盘文件名, 输入输出方式);     

    返回值:为0(假),打开操作失败

    如:   fout.open(fname,ios::out)      

关闭文件:

 在对已打开的磁盘文件的读写操作完成后,必须要关闭该文件  如:  outfile.close( );

文件操作

    1、可以用流插入运算符“<<”和流提取运算符“>>”输入输出标准类型的数据(>> 读出时在遇空格、换行都结束)。

    2、也可以用文件流的put、get、geiline等成员函数进行字符的输入输出。

 


#include <iostream>
using namespace std;
#include "fstream"

int main()
{
 char fname[] = "d:/file1.txt";
 char buff[1024]= {0};
 /*********** 写文件 *************/
 //方式1 输出流ofstream对象调用fopen函数
 ofstream fout;
 fout.open(fname,ios::out);
 if(!fout)
 {
 cout<<"打开文件失败"<<fname<<endl;
 }
 fout<< "hello world !"; //通过左移运算符写入字符串
 fout.flush();
 fout.close();

 //方式2 调用输出流ofstream对象的构造函数
 ofstream fout1(fname,ios::out);
 if(!fout1)
 {
 cout<<"打开文件失败"<<fname<<endl;
 }
 fout1.put('h'); //通过put函数写入字符
 fout1.put('e');
 fout1.put('l');
 fout1.put('l');
 fout1.put('o');
 fout1.put('n');
 fout1.flush();
 fout1.close();

 //文件流对象写文件
 fstream file2(fname,ios::in|ios::out);
 file2<<"abdfdn";
 file2<<"11111n";
 file2.flush();
 file2.close();

 /*********** 读文件 *************/
 //输入流ifstream对象读取文件内容
 ifstream fin;
 fin.open(fname,ios::in);
 fin.getline(buff,1024); //通过getline函数读取字符串
 cout<<buff<<endl; 
 fin.close();
 
 //文件流对象读文件内容
 fstream file1(fname,ios::in|ios::out);
 file1>>buff; //通过右移运算符读出字符串
 file1.close();
 cout<<buff<<endl;


 system("pause");
 return 0;
}