Universität Ulm -Sektion Angewandte Informationsverarbeitung
9.Übungsblatt (02.02.99 bis 09.02.99)
zur Systemnahe Software Teil I (WS 98/99)

Aufgabe 1 (20 Punkte)

Schreiben Sie ein C-Programm copy, das wie folgt aufgerufen wird:

copy quellpfad zielpfad

copy kopiert Dateien von einer Quelle in ein Ziel. Und zwar mit folgender Logik:

QUELLPFAD ZIELPFAD AKTION
ist Verzeichnis ist Verzeichnis copy kopiert sämtliche Dateien des Quelldirectories in das Directory des Zielpfads unter Beibehaltung der eigentlichen Dateinamen.
ist Datei ist Verzeichnis copy kopiert die Quelldatei in das Zieldirectory unter Beibehaltung des Dateinamens
ist Datei kein Verzeichnis kopiert die Quelldatei in die Zieldatei
ist Verzeichnis kein Verzeichnis Fehlermeldung


Implementieren Sie copy mit Hilfe der Funktionen open(),read(),write(),close(). Teilen Sie das zu erstellende Programm in zwei Module auf: main.c und copyfile.c. Im ersten steht die komplette Aufruflogik und im zweiten lediglich eine Kopierprozedur void copyfile(char *source, char *destination), die in der Lage ist, eine Datei (repräsentiert durch den Pfad source) in eine zweite Datei namens destination zu kopieren.
Einigen Sie sich in ihrer Gruppe, wer von ihnen was implementiert! Geteilte Arbeit ist halbe Arbeit!

Achtung: falls eine Zieldatei mit dem gleichen Dateinamen wie die Quelldatei bereits exisistiert, soll ihr Programm den Benutzer fragen, ob die Zieldatei überschrieben werden soll oder nicht!