使用ifstream流来读取文件
说明:
1.ifstream类的对象创建成功的时候会返回非空值,借此判断是否创建文件对象成功
2.ifstream有个函数eof()用来判断文件是否读到尾部,没读到尾部返回false,否则返回true。
若尾部有回车,那么最后一条记录会读取两次。
若尾部没有回车,那么最后一条记录只会读取一次
3.iftream的对象假设为fin,fin在读取数据的时候会根据你的输出对象来选择输出的方式。
即:
ifstream fin("abc.txt");
while(fin.eof())
{
char a;
fin>>a;//由于输出对象是字符型,所以fin每次会给a一个字符值
cout<<a;
}
fin.close();
ifstream fin("abc.txt");
while(fin.eof())
{
char a[20];//或者是string a;
fin>>a;//由于输出对象是字符数组或字符串,所以fin每次会给a一个字符数组或字符串,
//默认以空格为分割标志,并且是一行一行的读的
cout<<a;
}
fin.close();
完整的读文件代码
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream fin("abc.txt");//读取文件的名字,可以相对或绝对
if(!fin)
{
cout<<"open fail."<<endl;
exit(1);
}
else{
while(!fin.eof())
{
char a[20],b[20],c[20];
fin>>a>>b>>c;//读取的时候遇见空格才会跳跃。
cout<<a<<" "<<b<<" "<<c<<" "<<endl;
}
fin.close();
}
}
abc.txt文件

运行结果:

(c++好强大,也好方便,考虑好好认真学习下,qaq)
本文详细介绍了如何使用C++中的ifstream流类读取文件,包括判断文件对象创建是否成功,利用eof()函数检查文件是否读完,以及根据不同输出对象调整读取方式。通过实例展示了读取文件的具体代码实现。
3万+

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



