Ordner in C++ Konsolenprogramm löschen und kopieren
-
Hi,
ich will einen Ordner in meinem Programm aus dem Programme-Verzeichniss löschen und anschließend einen anderen an die selbe Stelle hinkopieren, sprich einfach ersetzten. Dazu wollte ich die Befehle DeleteFile(...) und MoveFile(...) aus <windows.h> benutzen. Es werden keine Errors produziert allerdings geschieht nixhts. Wer weis ne LösungThx Scarleton
-
Achja, ich benutze Win7,bzw.WinVista udn schreibe in C++ mit Code::Blocks und mingw
-
Erst löschen und dann kopieren hört sich nicht besonders schlau an.
Die Win32 Funktionen MoveFile() und DeleteFile() haben einen Rückgabewert, wenn du den auswertest kannst du feststellen, ob die Operation geklappt hat oder nicht. Wenn sie nicht erfolgreich war kannst du mit GetLastError() und FormatSystemMessage() die genaue Fehlermeldung bestimmen.
-
Habs mal nur mit deleteFile() ausprobiert. Wie zu erwarten war die ein Fail, der error hat die ID 123. FormatSystemMessage benötigt glaub ich noch eine Dll ??, funktioniert jedenfalls nit.
Scarleton
-
Dieser Thread wurde von Moderator/in pumuckl aus dem Forum C++ (auch C++0x) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Hallo Scarleton,
das Tool "errlook.exe" sagt bei ID 123: "Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch."
-
Also ich hab einfach den Pfad aus dem Explorer kopiert:
DeleteFile("C:\Program Files\EA Games\Test")
-
http://de.wikipedia.org/wiki/Escape-Sequenz
Ein \ wird vom Compiler als Start einer Escapesequenz gewertet, d.h. das dahinterliegende Zeichen wird durch ihn genutzt, um das Sonderzeichen zu bestimmen.Beispiele findest du im Artikel. Das \ - Zeichen muss also im Code als '\' (ja, '\' ist einZeichen) geschrieben werden:
"C:\\Program Files\\EA Games\\Test"
-
Unter C-Source ist das Zeichen '\' in einem String ein Steuerzeichen!
Nimm stattdessen folgenden String: "C:\\Program Files\\EA Games\\Test"
HTH,
Martin[Nachtrag:]
Mist, zu langsam...
Ach was, ich brauch mal nen Kaffee, damit ich schneller schreiben kann
-
Ok thx, das hat schon mal geholfen, desweiteren trat aber dieser Fehler auf:
#5- Access is denied
Daraufhin hab ich die bin-Datei aus dem Projektverzeichnis mal als Administrator ausgeführt. Folge war das sich die Konsole und somit auch das Programm ab dem betreffenden Code selbst schließt.