Dateien kopieren in einem C Programm
-
Hallo SeppJ
Wie kann ich CP verschiedene Dateinamen übergeben ?
an CP hatte ich am Anfang auch gedacht.Gruß
Christian
-
chris74 schrieb:
Wie kann ich CP verschiedene Dateinamen übergeben ?
an CP hatte ich am Anfang auch gedacht.Ich verstehe deine Problembeschreibung nicht. Weil du dein Problem nicht beschreibst.
-
chris74 schrieb:
Wie kann ich CP verschiedene Dateinamen übergeben ?
Wie rufst du denn cp auf?
-
Wie wäre es denn mit einem loop über die Dateinamen und den cp je Datei aufrufen ?
-
Eine andere Möglichkeit (ohne Kopie)
http://en.cppreference.com/w/c/io/rename
-
Hallo SeppJ
CP test.txt /..../test.txt
wie kann man im C Programm den Befehl mit Variabeln schreiben ?
CP <Variable> in der Variable sollen die verschiedenen Dateinamen stehen die dann in einer Schlefe geändert werden.Ist das Problem nun deutlicher geworden.
-
1. Linux ist case sensitive.
- Der Befehl heißtcp
2. Wie sieht der Aufruf in deinem Code aus. Welche C-Funktion verwendest du dafür
- Ein CP test.txt /..../test.txt einfach so im C-Code mag der Compiler nicht.
-
Hallo DirkB
der Befehl wird so aufgerufen
system("cp test.txt /save/test.txt")ein Beispiel währe super.
-
Bau dir einen String mit
sprintf
zusammen.Das Beispiel für system:
char copy[1000]; // achte auf ausreichende Groesse ... sprintf(copy, "cp %s %s", quelle, ziel); system(copy);
-
Also ich habe bei System immer leichte Bauchschmerzen.
1. Wird das richtige executable aufgerufen? Sollte man nicht vielleicht besser "/bin/cp" angeben statt nur "cp"?
2. Sind Sonderzeichen wie zum Beispiel das Leerzeichen, der Backslash oder Anführungszeichen in den Dateinamen richtig gequotet? Man könnte fork+exec nehmen, um das Problem zu umgehen.