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