argc und *argv

Kopieren von Daten durch argc und *argv[]



Datenkopieren durch argc und *argv[]


So kopieren Sie in C++ Daten durch die Main-Parameter argc und *argv[]

#include<iostream> // cerr
#include <fstream> // ifstream, ofstream
 
int main (int argc, char *argv[])
{
  //-------------------------------------------------------- Argumente pruefen
  if (argc != 3)
  {
    std::cerr << "Aufruf: copy Quelldatei Zieldatei
";
    return 1;
  }
 
  //------------------------------------------------------- Quelldatei oeffnen
  std::ifstream quelle(argv[1]);
 
  if (! quelle)
  {
    std::cerr << "Quelldatei kann nicht zum Lesen geoeffnet werden!
";
    return 1;
  }
 
  //-------------------------------------------------------- Zieldatei oeffnen
  std::ifstream zieltest(argv[2]);
 
  if (zieltest)
  {
    std::cerr << "Zieldatei existiert schon!
";
    return 1;
  }
 
  std::ofstream ziel(argv[2]);
 
  if (! ziel)
  {
    std::cerr << "Zieldatei kann nicht zum Schreiben geoeffnet werden!
";
    return 1;
  }
 
  //----------------------------------------------------------------- kopieren
  char c;
  while (quelle.get(c) && ziel.put(c));
 
  if (! quelle.eof())
  {
    std::cerr << "Kopierfehler!
";
    return 1;
  }
 
  return 0;
}