Tach!
stat(FILE) liefert einen integer. Die zu untersuchenden Bits, insgesamt sind das neun an der Zahl, erhalten wir infolge Verschiebung nach rechts mit dem Shift-Operator. Nach der bitweise Verschiebung wird jeweils mit 1 maskiert, so erhalten wir die einzelne Berechtigung.
Getreu dem Motto: Warum einfach (nur AND-maskiert mit 1,2,4,...), wenn es auch umständlich geht?
dedlfix.