rechte auf datei setzen über C



  • ein dozent stellte die aufgabe auf eine datei.txt die rechte von other um x zu ergänzen, als lösung stellte er folgendes vor:

    struct stat statbuf;
    stat("datei.txt", &statbuf);
    chmod("datei.txt", statbuf.st_mode|S_IXOTH);
    

    warum ist in chmod das bitweise oder | hier setzt und nicht & ? laut meien büchern müsste da ein & stehen um die rechte zu ERGÄNZEN ohne die anderen rechte zu verändern



  • ...



  • Schau mal, so kannst du dir das vielleicht leichter vorstellen:

    ~ % irb
    >> (0b0101 & 0b0111).to_s(2)
    => "101"
    >> (0b0100 | 0b0001).to_s(2)
    => "101"
    

    (Das "0b"-Präfix ist dabei nur Ruby-Notation für Binärzahlen.)


Anmelden zum Antworten