C++对文本文件读写方法

1、创建流对象,打开文件

    void open( const char *filename );

    void open( const char *filename, openmode mode );

    filename 文件名

    mode:打开模式

        ios::app 添加输出

        ios::ate 当已打开时寻找到EOF

        ios::binary 以二进制模式打开文件

        ios::in 为读取打开文件

        ios::out 为写入打开文件

        ios::trunc 覆盖存在的文件

       

    strace ./a.out

    ifstream 类的默认mode

        以只读方式ios::in打开文件,文件不存在则打开失败 r

    ofstream 类的默认mode

        以只写方式ios::out打开文件,文件不存在则创建,存在则清空    w

    fstream 类的默认mode

        以读写方式ios::in|ios::out打开文件,文件不存在则失败       r+

    注意:这些打开模式单独使用和混合使用时功能上有删减,不是简单的相加,具体混合使用后的功能需要通过strace追踪底层调用open函数时对应的flag标志位

   

    注意:可以使用创建类时初始化进行打开文件,效果等同于调用open成员函数,参数与open一样

        ifstream ifs.open("test.txt");

        ifstream ifs("test.txt");

2、判断文件是否打开成功

 bool good();

 功能:判断上一次流对象的操作是否成功,可以用于判断文件是否打开成功

 返回值:

    true 成功

    false 失败

 bool fail();

 功能:判断上一次流对象的操作是否失败,可以用于判断文件是否打开成功

 返回值:

    true    失败

    false   成功

3、流对象 << 写操作   流对象    >>  读操作

    ofs << str << endl;

    ifs >> str;

4、关闭文件

    void close();

注意:在读写类对象时,由于绝大多数成员都是private属性,因此不能在类外直接进行读写;但由于ostream/ifstream类是ofstream/ifstream的父类,因此重载实现<< 和 >> 运算符函数既可以用于输入输出对象,也可以用于类对象的文本文件的读写

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>