使用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)