Veröffentlicht 9. März 200421 j 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
9. März 200421 j Das hängt vom Betriebssystem ab. Du kannst z.B. mit system() Konsolenbefehle durchführen, oder unter Windows die MoveFile() API benutzen.
9. März 200421 j 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
27. März 200421 j 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); } }
28. März 200421 j Ich würde die Dateien explizit im Binary-Mode öffnen:fopen(filename,"rb") bzw. fopen("filename,"wb");
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.