C++笔记(二十六)文件


#include
#include
#include

/* streambuf:缓冲区 ios_base:io流基类 ios:由ios_base派生,包含一个指向streambuf对象的指针成员。 ostream:ios派生而来,提供输出方法 istream:ios派生而来,提供输入方法 iostream:基于ostream和istream,因此继承了输出和输入方法。 fstream:文件流,包含ofstream和ifstream,ofstream派生ostream,ifstream派生istream。 */
int main()
{
    using namespace std;
    string filename = "E:/a.txt";

    /* 打开文件模式: ios_base::in,读 ios_base::out,写,会覆盖掉原来内容 ios_base::ate,指向文件末尾 ios_base::app,追加到文件末尾 ios_base::binary,二进制文件 */

    //输出流
    ofstream fout;
    fout.open(filename,ios_base::app);
    if (fout.is_open()) {
        fout << "aaaaaaaaaaaaaaaaaa\n";
        fout << "bbbbbbbbbbbbbbbbbb\n";
        fout << "cccccccccccccccccc\n";
        fout.close();
    }

    //输入流
    ifstream fin;
    fin.open(filename,ios_base::in);
    if (fin.is_open()) {
        char ch;
        while (fin.get(ch)) {
            cout << ch;
        }
        fin.close();
    }


    return 0;
}

运行两次后输出结果:

aaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbb
cccccccccccccccccc
aaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbb
cccccccccccccccccc

你可能感兴趣的:(C++笔记(二十六)文件)