头文件
#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(); //关闭文件输入流
}
注意:ifstream读取文本时,遇到空格会断开。
2、逐个字符读入(忽略空格与回车)
void readTxt(string file)
{
ifstream infile;
infile.open(file.data()); //将文件流对象与文件连接起来
assert(infile.is_open()); //若失败,则输出错误消息,并终止程序运行
char str[65536] = {""};
char c;
int i = 0;
while (!infile.eof())
{
//infile >> c;
//cout<<c<<endl;
infile.get(ch);
str[i] = ch;
i++;
};
infile.close(); //关闭文件输入流
}
3、逐个字符读入(包括空格与回车)
void readTxt(string file)
{
ifstream infile;
infile.open(file.data()); //将文件流对象与文件连接起来
assert(infile.is_open()); //若失败,则输出错误消息,并终止程序运行
// infile >> noskipws; // or below
cin.unsetf(ios::skipws);
char str[65536] = {""};
char c;
int i = 0;
while (!infile.eof())
{
//infile >> c;
//cout<<c<<endl;
infile.get(ch);
str[i] = ch;
i++;
};
}
infile.close(); //关闭文件输入流
}
————————————————
参考:https://blog.csdn.net/weixin_45525272/article/details/109687419