// fileio.cc   Lesen und Schreiben von Dateien

#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;

void error(int i, char*  s, string t = "") {
  cerr << s << ' ' << t << '\n'; exit(i);
}

int main(int argc, char* argv[] ) {

  if (argc != 3) {
    cerr << "Falscher Aufruf, korrekter Aufruf:\n";
    error (1, argv[0], "Quelldatei Zieldatei");
  }

  ifstream from(argv[1]); // Deklaration eines ifstream namens from
                          // der aus der Datei namens argv[1] liest.
  if (!from) error(2, argv[1], "kann nicht zum Lesen geoeffnet werden.\n");

  ofstream to(argv[2]);
  if (!to) error(3, argv[2], "kann nicht zum Schreiben geoeffnet werden.\n");

  char c;

  while (from.get(c))
    to.put(c);

  from.close(); to.close();

  return 0;
}
