[C] unter Linux Dateien/Ordner kopieren

Plasmaschlag

Grünschnabel
Hallo Leute,

ich bin gerade dabei ein CD-Menü (Im Terminal-fenster) zu machen. Das Menü ist soweit fertig, aber ich wollte noch ein kleines Setup Programm dazu schreiben (in C), dass die Dateien auf der CD (In meinem Fall Mods für ein PC Spiel) in den dafür vorgesehenden Ordner kopiert und falls der Ordner nicht existiert, den Ordner erstellt. Die Ordnererstellung habe ich soweit hinbekommen, jedoch habe ich keine ahnung, wie das mit dem Kopieren geht. Hab schon gegoogelt, aber nichts brauchbares gefunden.

Soweit bin ich immoment:
Code:
#include <stdio.h>

  int main(void)
{
  char eing;

   printf("Soll der Installer gestartet werden? y/n ");
   scanf(" %c", &eing);

   if(eing=='y')
     mkdir("//home//tux//Mods");

   if(eing!='y')
      printf("Installation abgebrochen\n");
   
   sleep( 2 );
  
     return 0;
}
Habs mit: mv("//home//tux//Setup.c //home//tux//Mods//Setup.c"); probiert, aber das geht nicht.

MFG
Plasmaschlag


EDIT: Mir ist gerade aufgefallen, dass ich nicht alle Rechte für den erstellten Ordner habe was z.B. das löschen
angeht. Mit welchem Befehl kann ich während der Erstellung die Rechte einstellen?
 
Zuletzt bearbeitet:
Hi.

Warum willst du das in C machen?

Das ist doch nur unnötig kompliziert. Schreib dir einfach ein Shell Skript.

Zum Kopieren:

1. Quelldatei öffnen
2. Zieldatei öffnen
3. Daten aus Quelldatei auslesen
4. Daten in Zieldatei reinschreiben
5. wenn noch Daten vorhanden, gehe zu Punkt 3.
6. beide Dateien schliessen

Die Zugriffsrechte werden durch die umask festgelegt. Das sollte aber eigentlich schon passen. Evtl. hast du einen anderen Fehler gemacht.
 
Warum willst du das in C machen?

Ich bin gerade dabei, C zu lernen. Linux benutze ich auch noch nicht so lange (erst ein paar Wochen), dehalb bin ich noch nicht ganz vertraut damit :) Ich probier es mal mit dem Shell Skript, aber ich würde trotsdem gerne wissen, wie man das in C schreibt.


EDIT: Fail und ich fange auch noch an nen Tutorial für Shell Skripte zu lesen, dabei kann man ja einfach die Terminal befehle da reinschreiben. Das Problem mit den Rechten ist dann auch erledigt (chmod 777 Mods).

Trotsdem würde es mich noch interressieren, wie man einen Dateipfad Manuell eingibt.
char pfad[20]; . aber jetzt weiß ich nicht weiter, weil der Pfad ist ja dann in dem Shell Script definiert und nichtmehr im Programm, oder liege ich da Falsch?
 
Zuletzt bearbeitet:
EDIT: Fail und ich fange auch noch an nen Tutorial für Shell Skripte zu lesen, dabei kann man ja einfach die Terminal befehle da reinschreiben. Das Problem mit den Rechten ist dann auch erledigt (chmod 777 Mods).
Das hat dann aber nichts mehr mit C zu tun, sondern eben mit Shell-Skripting.
Trotsdem würde es mich noch interressieren, wie man einen Dateipfad Manuell eingibt.
Die Frage verstehe ich nicht.
char pfad[20]; . aber jetzt weiß ich nicht weiter, weil der Pfad ist ja dann in dem Shell Script definiert und nichtmehr im Programm, oder liege ich da Falsch?
Wir wissen nicht was du gemacht / probiert hast; da kann man nichts dazu sagen.
 

Neue Beiträge

Zurück