c++读取TXT文件内容

转载链接

文件头:
#include <iostream>
#include <fstream>
#include <cassert>
#include <string>
1 逐行读取
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();             //关闭文件输入流 
}
2  逐个字符读入(忽略空格与回车)
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();             //关闭文件输入流 
}
3 逐个字符读入(包括空格与回车)
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();             //关闭文件输入流 
}
noskipws介绍
操作符noskipws会令输入运算符读取空白符,而不是跳过它们。为了恢复默认行为,可以使用skipws操作符。

cin>>noskipws;//设置cin读取空白符

while(cin>>ch)

cout<<ch;

cin>>skipws;//将cin恢复到默认状态,从而丢弃空白符