Problem mit rename
-
Hallo ich will mit hilfe der rename funktion eine Ordner umbennen.
Mein Programm liegt auf Laufwerk D:\ und der Ordner der umbenannt werden soll liegt auf Laufwerk C:\
Wie ich die Ordner auf dem Laufwerk änderen kann wo das Programm liegt weiss ich.
#include <iostream> using namespace std; #include <stdio.h> int main () { int neu; char oldname[] = "test"; char newname[] = "hallo"; neu = rename (oldname,newname); }
-
vieleicht so?
include <iostream> using namespace std; #include <stdio.h> int main () { int neu; char oldname[] = "c:\\test"; char newname[] = "c:\\hallo"; neu = rename (oldname,newname); }
-
Jetzt hats geklappt ty hatte es eben auch fast so nur ich hatte ein \ anstatt 2 ^^
-
Wie kann ich den überprüfen lassen ob das Verzeichnis Existiert oder nicht.
In der Borland Builder Hilfe steht:
Rückgabewert
mkdir liefert den Wert 0 zurück, wenn das neue Verzeichnis erzeugt werden konnte.
Wenn ein Fehler auftritt, wird -1 zurückgegeben und die globale Variable errno auf einen der beiden folgenden Werte gesetzt:
EACCES Zugriff nicht gestattet
ENOENT Datei oder Verzeichnis nicht gefundenAber irgendwie kann ich damit nicht viel Anfangen

-
mkdir ist doch ein DOS-Kommande
das benutzt du doch garnicht.
Ob ein Ordner existiert kannst du damit prüfen:#include<windows.h> ... //Existiert die Datei? BOOL FileExists(const char *pcFileName) { //Dateiattribute lesen ist schneller als öffnen return( (GetFileAttributes(pcFileName)==INVALID_FILE_ATTRIBUTES) ? FALSE //lesen nicht möglich -> Datei existiert nicht! : TRUE); //die Datei existiert }Auf Attribute prüfen hat den Vorteil, dass sie auch prüfen kann ob ein Ordner existiert und auch wenn du keine Rechte auf diese Datei hast
-
Noch eine Variante:
#include <dirent.h> ... if(opendir("Verzeichnis") == NULL) { //Verzeichnis existiert nicht } else { //Verzeichnis existiert }keine Garantie!
-
Ich verweise hier einfach mal auf boost.filesystem, da die Funktionen dort immerhin plattformunabhängig implementiert sind

-
0k danke.