Ich habe ein Problem mit den Berechtigungen, die ich erhalte, wenn ich den mkdir-Systemaufruf verwende. Ich weiß, dass ich es richtig nenne, es ist oktal, all das. Ich habe es getestet, wo die Moduseingabe eine Ganzzahl ist, mit der ich rechnen kann, und definitiv 511 in Dezimal ist.mkdir Systemaufruf erstellt Berechtigungen 0755 statt 0777
#include <sys/stat.h>
#include <sys/types.h>
#include <cstdlib>
int main (int argc, char* argv[]) {
if (mkdir(argv[argc-1], 0777) == -1) {
perror(argv[0]);
return EXIT_FAILURE;
} // if
return EXIT_SUCCESS;
} // main
Aber wenn ich ein Verzeichnis und überprüfen Sie die Berechtigungen erstellen, ist es immer 0755 statt 0777.
Access: (0755/drwxr-xr-x)
Wenn ich das mkdir Dienstprogramm oder chmod verwenden oder was auch immer es perfekt auf 0777 einstellen. Es ist nur der Systemanruf, der nicht funktioniert.
Es funktioniert auch gut für weniger Berechtigungen, wie wenn ich den Modus auf 0111 gesetzt
Das war alles auf Null! Vielen Dank! – Reed
@Reed - überhaupt nicht. – max66