C++ 读写操作同一个文件的几种方法

来源:互联网 发布:淘宝怎么设置实名认证 编辑:程序博客网 时间:2024/05/13 03:58
#include <iostream>#include <fstream>using namespace std;int main(){    // 打开文件 "test.txt" 同时读写操作    filebuf buffer; // 建立一个 file stream 缓冲区,并将它装在两个stream对象上    ostream output(&buffer);    istream input(&buffer);    buffer.open("test.txt", ios::in | ios::out | ios::trunc);    for (int i = 1; i <=4 ; i++) {        // 写一行数据        output << i << ". line" <<endl;        // 打印全部的文件内容        input.seekg(0);  // 流设到开始处        char c;        while (input.get(c)) {            cout.put(c);        }        cout << endl;        input.clear();  // 清除eof 和 fail标记位    }    input.seekg(0);    cout<< "把缓冲区指针传给流,输出全部内容\n" << input.rdbuf();}#if 0 ///////////// 以下内容为学习程序的资料,不编译 ////////////// 建立一个 file stream 缓冲区,并将它装在两个stream对象上filebuf buffer;ostream output(&buffer);istream input(&buffer);buffer.open("test.txt", ios::in | ios::out | ios::trunc);// 通常利用 class fstream 打开文件进行读写操作fstream file ("test.txt", ios::in | ios::out);// 也可以采用两个不同的 stream对象,一个用于读取,一个用于改写ofstream out ("test.txt", ios::in | ios::out);istream in (out.rdbuf());// 设置stream缓冲区,重定向cout输出到文件ofstream file ("cout.txt");cout.rdbuf(file.rdbuf());#endif

C++ 的流挺好玩的,今天看 C++ 流 不好的评价http://topic.csdn.net/u/20110823/20/5600d38a-e4f3-48f1-a70e-bb3119e7c8a7.html自己去看 PDF 版 C++标准程序库了摘写了这些代码,调试玩玩
原创粉丝点击