ifstream in("testIn.txt"); assure(in, "testIn.txt");//确保文件成功打开 ofstream out("testOut.txt"); assure(out, "testOut.txt"); out<<in.rdbuf();//拷贝文件 //以上代码为了确保有一个可读可写的文件作为测试 iftream in2("testOut.txt"); assure(in2, "testOut.txt"); ofstream out2(in2.rdbuf());//对测试文件可读可写,写入读出的位置都是streambuf cout<<in2.rdbuf();//打印原先文件的内容 out2<<"hello end";//往文件中写,默认是从end处 out2.seekp(0, ios:beg);//将写的指针跳转到头部 out2<<"hello start";//在开始位置继续往下写,覆盖了原先的内容 in2.seekg(0, ios:beg);//再跳转到头部,目的就是为了读取刚才写入的 cout<<in2.rdbuf();