Bonjour,
J'essaye de recoder la fonction Ls et j'ai un petit soucis quant à l'affichage des droits.
Le code que j'utilise pour les afficher est :
Cependant voilà mon résultat suivit du résultat que me donne ls -la :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 #include <sys/stat.h> void put(char c) { write(1, &c, 1); } void aff_right(const mode_t mode, struct stat *s) { if (S_ISDIR(s->st_mode)) put('d'); else put('-'); (mode & S_IRUSR) ? put('r') : put('-'); (mode & S_IWUSR) ? put('w') : put('-'); (mode & S_IXUSR) ? put('x') : put('-'); (mode & S_IRGRP) ? put('r') : put('-'); (mode & S_IWGRP) ? put('w') : put('-'); (mode & S_IXGRP) ? put('x') : put('-'); (mode & S_IROTH) ? put('r') : put('-'); (mode & S_IWOTH) ? put('w') : put('-'); (mode & S_IXOTH) ? put('x') : put('-'); put(' '); }
Le miens:
Lui obtenu avec ls -la:--w-----wx
--w-r---wx
--wx-wx-wx
--wxrwx-wx
dr--rw--wx
-r-x--x-wx
-r-xrw--wx
-rw--w--wx
-rw-rwx-wx
-rwx-wx-wx
-rwxrwx-wx
----rw--wx
Ca va bientôt faire 5 heures que je suis bloqué dessus et je ne vois absolument pas d'où viens le problème... pourriez-vous m'aider?-rw-r--r--
-rw-r--r--
-rw-r--r--
-rw-r--r--
-rw-r--r--
-rw-r--r--
-rwxr-xr-x
-rw-r--r--
drwxr-xr-x
-rw-r--r--
-rw-r--r--
-rw-r--r--
Merci !
Partager