Rename-Befehl und dessen Rückgabewert
-
Hiho,
mit dem rename-Befehl bzw. dessen Rückgabewert komme ich nciht ganz klar.
Ich nutze folgendes:
int ergebnis=::rename(oldpath,newpath);Return Value
Each of these functions returns 0 if it is successful. On an error, the function returns a nonzero value and sets errno to one of the following values:EACCES
File or directory specified by newname already exists or could not be created (invalid path); or oldname is a directory and newname specifies a different path.
ENOENT
File or path specified by oldname not found.
EINVAL
Name contains invalid characters
Danger: ANFÄNGER ^^ 
Wie ermittel ich denn den Rückgabewert nun richtig? Rückgabe ist ein Integer.
Was ist bitte errno? Die Fehlernummer, die mir GetLastError gibt?Wenn mein int null ergibt ist ja alles OK, aber wie unterscheide ich
jetzt die Fehlerarten richtig? Z.B. habe ich hier eine Datei versucht
umzunennen. Ging aber nicht, da der Dateiname für Windows dann zu lang gewesen
wäre. GetLastError gibt mir Code 3 zurück (ERROR_PATH_NOT_FOUND).Was denn nun? Pfad zu lang oder Pfad nicht umbenennbar? Gibts da denn keine
Abstufungen für?Liege ich sonst mit meiner groben Interpretation von den Fehlern richtig?

-
errno ist eine Variable im global name space, ist also der Rückgabewert von rename != 0 so kannst Du über diese Variable den Fehler spezifizieren.
Gruß Matthias