MoveFile() unter Linux?
-
Hi,
Tante Google bringt zu der Frage nach dem Verschieben von Dateien mit c++ leider nur Hilfe für die Windowsuser: MoveFile() aus Windows.h.
Welche Alternative habe ich?
-
-
Tut mir leid, diese Funktion tut....gar nichts:
mp3= "/home/morphd/test/test.mp3"; //z.B test= target+artist+"/"+filename; rename (mp3.c_str(), test.c_str());
-
Du solltest vielleicht überprüfen, ob man: rename(2) einen Fehler meldet...
if(rename(...) == -1) { perror("rename"); }
-
Tut es leider nicht. Auch gdb meckert nicht.
-
morphd schrieb:
Tut es leider nicht. Auch gdb meckert nicht.
Warum sollte gdb meckern? Du rufst eine Funktion auf und erhälst einen Rückgabewert. Das dieser Rückgabewert einen Fehlercode darstellt ist dem gdb doch egal. Die Funktion wurde korrekt aufgerufen.
Möglicherweise versuchst Du eine Datei von einem Dateisystem zum anderen zu bewegen. Das geht mit rename(2) nicht. Das geht nur manuell. Also alte Datei öffnen, neue Datei anlegen, Daten von der alten Datei in die neue schaufeln, beide Dateien schliessen und alte Datei löschen. Eventuell die Attribute der neuen Datei noch anpassen.