//: C04:Iofile.cpp
// Z knihy "Myslíme v jazyce C++, část 2" od Bruce Eckela a Chucka Allisona.
// (c) 1995-2004 MindView, Inc. Všechna práva vyhrazena.
// Přečtěte si podmínky používání zdrojových kódů umístěné v souboru 
// 'Licence.txt' dodávaném spolu s balíčkem kódu dostupným na www.MindView.net.
// Čtení a zápis do jednoho souboru.
#include <fstream>
#include <iostream>
#include "../require.h"
using namespace std;

int main() {
  ifstream in("Iofile.cpp");
  assure(in, "Iofile.cpp");
  ofstream out("Iofile.out");
  assure(out, "Iofile.out");
  out << in.rdbuf(); // Kopírovat soubor
  in.close();
  out.close();
  // Otevřít pro čtení a zápis:
  ifstream in2("Iofile.out", ios::in | ios::out);
  assure(in2, "Iofile.out");
  ostream out2(in2.rdbuf());
  cout << in2.rdbuf();  // Vytisknout celý soubor
  out2 << "Kde to skončí?";
  out2.seekp(0, ios::beg);
  out2 << "A co tohle?";
  in2.seekg(0, ios::beg);
  cout << in2.rdbuf();
} ///:~
