头文件
#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.youkuaiyun.com/weixin_45525272/article/details/109687419
本文介绍了C++中三种不同的文件读取方式:逐行读取,忽略空格和回车的逐字符读取,以及保留空白的逐字符读取。通过`ifstream`操作,展示了如何使用`getline`、`get`和设置`ios::skipws`来实现这些功能。
469

被折叠的 条评论
为什么被折叠?



