Hallo Leute,
was mache ich falsch?
ICh möchte einen Ordner mit dem Inhalt drin löschen.
Dabei schreibe ich.
>>remove(szPath);
Gruß
:
Verschoben durch User
Auf einem Controller oder auf dem PC? Jedenfalls kann man Ordner per Systemaufruf meist erst löschen wenn sie leer sind.
Ungefähr so: Windows: system("del /s c:\windows") Linux: system("rm -r /etc") Aber falsches Forum.
> Dabei schreibe ich. >>remove(szPath); Gut. Fertig. Und weiter, was passiert dann? Lies mal die Doku zu deinem Compiler: szPath ist (wie es der Name schon sagt) ein mit 0 terminierter String, der den zu löschenden Pfad angibt. Sowas
1 | remove("c:\\irgendwas\\irgendwo\\irgendwie"); |
könnte eher funktionieren :-/
> Ungefähr so: > Windows: system("del /s c:\windows") Das funktioniert nicht. Verzeichnisse werden unter Windows mit rd gelöscht. del löscht nur die im Verzeichnis enthaltenen Dateien, nicht aber das Verzeichnis selbst.
oh sch....
ich wollte eigentlich in PC-Programmierung
Ich habe folgenden Befehl eingegeben, leider ist der Order immer noch
da.
>>system("del /s c:\New Folder")
Jo, aber nach system("del /s c:\\New Folder") kannst du das Verzeichnis mit rmdir() löschen.
also mit >>system("del /s c:\New Folder") wird nichts vom Inhalt des Ordners gelöscht! und mit >>rmdir("c:\New Folder") wird auch nicht der leere Ordner gelöscht! Was nun?
gast schrieb:
> ne funktioniert auch nicht
Dann mach eine DOS-Box auf (oder wie auch immer das Teil auf deinem
Windows heist) und probier dort die korrekte Sequenz aus.
Wenn du erst mal das Gewünschte per Command Line erreichen kannst, dann
kannst du das dann auch vom Programm aus machen.
system() macht nichts anderes als den Commando-Interpreter zu starten
(so wie wenn du eine DOS-Box aufmachst) und übergibt ihr den String (so
wie sich die DOS-Box den String vom Benutzer holt)
Aber der Vorteil beim Ausprobieren in einer DOS-Box ist:
Du kriegst Fehlermeldungen vom Commando-Interpreter
Und damit hört sich dann hoffentlich das Stochern im Nebel 'Ne, geht
auch nicht' auf.
Der einzige gravierende Unterschied:
In C wird innerhalb eines Strings ein \ als \\ geschrieben.
Aber als alter C-Spezi sollte das ja kein Problem sein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.