文件读取操作

 2023-05-30 12:21:21  阅读 0

对于文件的读取,和写入操作类似,也是通过fstream中的类来完成。

 

写入是通过ofstream,读取就是通过ifstream。同样,在ifstream中有着open和close等成员函数用于打开和删除文件。但是文件的读取需要考虑到文件是否存在,文件读取是否完毕等操作等等,所以操作起来比较麻烦。

 

 

对于文件打开,也存在多中方式,如下:

 

方式名称 含义
ios::in 通过只读的方式打开文件,不能对文件进行写入操作
ios::binary 通过二进制的方式打开文件

 

 

具体代码示例如下:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
​
class Read
{
private:
    ifstream m_ifs;
    string m_filename;
    string m_name;
    int m_age;
    bool m_isquit;
public:
    Read(string filename = "./111.txt")
    {
        this->m_name = "bs";
        this->m_age = -1;
        this->m_filename = filename;
        this->m_ifs.open(this->m_filename, ios::in);
        if (!this->m_ifs.is_open())
        {
            this->m_isquit = true;
        }
        else
            this->m_isquit = false;
    }
    ~Read()
    {
        this->m_ifs.close();
    }
    void Show()
    {
        if (this->m_isquit == true)
        {
            cout << "File read false!" << endl;
            return;
        }
        cout << "NAME" << "\t" << "AGE" << endl;
        while (!this->m_ifs.eof())
        {
            this->m_ifs >> this->m_name;
            this->m_ifs >> this->m_age;
            cout << this->m_name << "\t" << this->m_age << endl;
        }
    }
};
​
int main()
{
    Read * read = new Read;
    read->Show();
    delete read;
    return 0;
}

 

在上面的代码中,通过类的方式来对本次想要实现的功能进行封装。对于文件的读出可以使用>>运算符来实现。其中的is_open方法可以判断文件是否打开成功。若是打开成功就会返回true,否则返回false。而文件在读取的过程中会不断的获取文件中的各种数据,使用eof方法就可以判断文件是否已经读取完毕。若是文件读取完毕就会返回true,否则返回false。

 

通过对eof和is_open方法的使用让文件读取的操作更加的合理和完善。

上一篇: 文件写入操作
下一篇: 文件操作补充
标签:

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码