Anzeige:
Ergebnis 1 bis 2 von 2

Thema: st_mode von stat in rwx format bringen

  1. #1
    juzar
    Gast

    st_mode von stat in rwx format bringen

    hallo,

    wenn ich stat auf einer/m Datei/Verzeichnis aufrufe kann ich mir ein int geben lassen,
    in dem die dateizugriffsrechte codiert sind (a la 0777)
    gibt es irgendeine kleine standardfunktion um das int in dieses klassische
    -rwxrwxrwx format zu bringen?

    gruß

  2. #2
    Registrierter Benutzer
    Registriert seit
    10.04.2001
    Ort
    Bremen
    Beiträge
    339
    Hi!

    Ich habe da mal was gemacht in C++:
    Code:
    #include <iostream>
    #include <string>
    #include <sys/stat.h>
    
    std::string convert(mode_t mode)
    {
        std::string str;
        
        if(mode & S_IFDIR)
            str += 'd';
        else
            str += '-';
        if(mode & S_IRUSR)
            str += 'r';
        else
            str += '-';
        if(mode & S_IWUSR)
            str += 'w';
        else
            str += '-';
        if(mode & S_IXUSR)
            str += 'x';
        else
            str += '-';
        if(mode & S_IRGRP)
            str += 'r';
        else
            str += '-';
        if(mode & S_IWGRP)
            str += 'w';
        else
            str += '-';
        if(mode & S_IXGRP)
            str += 'x';
        else
            str += '-';
        if(mode & S_IROTH)
            str += 'r';
        else
            str += '-';
        if(mode & S_IWOTH)
            str += 'w';
        else
            str += '-';
        if(mode & S_IXOTH)
            str += 'x';
        else
            str += '-';
    
    
        return str;
    }
        
    int main(int argc, char **argv)
    {
        struct stat buf;
        
        stat("test", &buf);
    
        std::cout << convert(buf.st_mode) << std::endl;
    
        return 0;
    }
    Informationen zu den S_I****-Sachen stehen in der man-Page zu stat (man 2 stat)

    Hoffe das hilft dir

    c ya,
    Tobias

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •