U.H.D Geschrieben 9. März 2004 Geschrieben 9. März 2004 Hallo zusammen! Gibt es unter C einen Befehl, mit dessen Hilfe ich Dateien von ein Verzeichnis in ein anderes kopieren oder verschieben kann? Unter C++ wird man da ja schnell fündig, aber für C blieb ich bislang erfolglos. Kann mir diesbezüglich vielleicht jemand weiterhelfen? mfg U.H.D Zitieren
Guybrush Threepwood Geschrieben 9. März 2004 Geschrieben 9. März 2004 Das hängt vom Betriebssystem ab. Du kannst z.B. mit system() Konsolenbefehle durchführen, oder unter Windows die MoveFile() API benutzen. Zitieren
nic_power Geschrieben 9. März 2004 Geschrieben 9. März 2004 Hallo, Beides läßt sich auch in Standard C implementieren: Zum Kopieren einer Datei erzeugt man am Zielort eine neue Datei gleichen Namens und kopiert den Inhalt der Quelldatei in diese neue Datei (beispielsweise mittels fread und fwrite). Bei einem move (umbennenen) kann man identisch vorgehen und im Anschluss die Original-Datei mit Hilfe von "remove()" löschen. Eine Alternative ist die Verwendung von "rename()". Problematisch kann es allerdings bei Special-Files wie beispielsweise Pipes,Hard- oder Softlinks, usw. werden. In dem Fall muss man auf die Betriebssystemfunktionen bzw. passenden Systemcalls zurückgreifen. Nic Zitieren
Mr. D Geschrieben 27. März 2004 Geschrieben 27. März 2004 Hi, also falls du noch das Problem hast, hier is die Lösung(hoff ich doch *g*) _______________________________________________________________ void main (void){ FILE *datei, *datei2; char cZeichen; char name[90]; char name1[90]; int cText; printf("Bitte geben Sie den Pfad fuer die Datei ein die Sie kopieren moechten: "); gets(name); datei= fopen(name,"r"); printf("\nBitte geben Sie den Pfad ein wo die Datei kopiert wird: "); gets(name1); datei2= fopen(name1,"w"); if (datei == NULL || datei2 == NULL) printf("Fehler beim oeffnen\n"); else{ while((cZeichen =getc(datei))!=EOF){ putc(cZeichen,datei2); } fclose(datei); fclose(datei2); } } Zitieren
kLeiner_HobBes Geschrieben 28. März 2004 Geschrieben 28. März 2004 Ich würde die Dateien explizit im Binary-Mode öffnen:fopen(filename,"rb") bzw. fopen("filename,"wb"); Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.