1.ifstream

        头文件:

#include <iostream>
#include <fstream>
#include <cassert>
#include <string>

        逐行读入文件 :

void readTxt(string file)
{
    ifstream infile; 
    infile.open(file.data());   //将文件流对象与文件连接起来 
    assert(infile.is_open());   //若失败,则输出错误消息,并终止程序运行 

    string s;
    while(getline(infile,s))
    {
        cout<<s<<endl;
    }
    infile.close();             //关闭文件输入流 
}

        逐个字符读入文件,忽略空格和回车

void readTxt(string file)
{
    ifstream infile; 
    infile.open(file.data());   //将文件流对象与文件连接起来 
    assert(infile.is_open());   //若失败,则输出错误消息,并终止程序运行 

    char c;
    while (!infile.eof())
    {
        infile >> c;
        cout<<c<<endl;

    }
    infile.close();             //关闭文件输入流 
}

         逐个字符读入文件,包括空格和回车

void readTxt(string file)
{
    ifstream infile; 
    infile.open(file.data());   //将文件流对象与文件连接起来 
    assert(infile.is_open());   //若失败,则输出错误消息,并终止程序运行 

    char c;
    infile >> noskipws;
    while (!infile.eof())
    {
        infile>>c;
        cout<<c<<endl;

    }
    infile.close();             //关闭文件输入流 
}

        读入全部文件 

ifstream ifs(file_name, std::ios::binary|std::ios::in);
if (ifs.is_open())
{
    ifs.seekg(0,std::ios::end);
    int len = ifs.tellg();
    ifs.seekg(0,std::ios::beg);
			
    char *buff = new char[len];
			
    ifs.read(buff , len);
    delete []buff;
}

2.ofstream

更多推荐