Programmer la commande ls -l en C
maxence57590
Messages postés
4
Statut
Membre
-
maxence57590 Messages postés 4 Statut Membre -
maxence57590 Messages postés 4 Statut Membre -
Bonjour,
Dans le cadre d'un projet, je voudrais afficher les différents type de fichier dans un répertoire (executable, text, etc...).
J'arrive a afficher les fichiers avec "opendir" mais j’arrête pas de chercher et je trouve rien pour comment afficher le types des fichiers... Si quelqu'un a une idée a proposer, merci d'avance.
Dans le cadre d'un projet, je voudrais afficher les différents type de fichier dans un répertoire (executable, text, etc...).
J'arrive a afficher les fichiers avec "opendir" mais j’arrête pas de chercher et je trouve rien pour comment afficher le types des fichiers... Si quelqu'un a une idée a proposer, merci d'avance.
A voir également:
- Programmer la commande ls -l en C
- Invite de commande - Guide
- Commande terminal mac - Guide
- Programmer sms - Guide
- Programmer mail gmail - Guide
- Commande dism - Guide
4 réponses
Un fichier régulier est bien différent d'un lien symbolique , d'un tube nommé ou d'une entrée de périphérique (caractère, bloc).
<ital>struct dirent {
ino_t d_ino; /* inode number */
off_t d_off; /* not an offset; see NOTES */
unsigned short d_reclen; /* length of this record */
unsigned char d_type; /* type of file; not supported
by all filesystem types */
char d_name[256]; /* filename */
}</itall>
L'entrée d_type contient le type d'entrée.
Voir
Pour déterminer les types de fichiers, regarde du côté de libmagic
<ital>struct dirent {
ino_t d_ino; /* inode number */
off_t d_off; /* not an offset; see NOTES */
unsigned short d_reclen; /* length of this record */
unsigned char d_type; /* type of file; not supported
by all filesystem types */
char d_name[256]; /* filename */
}</itall>
L'entrée d_type contient le type d'entrée.
Voir
man 3 readdir
Pour déterminer les types de fichiers, regarde du côté de libmagic
maxence57590
Messages postés
4
Statut
Membre
Un grand MERCI, ça m'aide réellement, je sens que je suis pas loin du but souhaiter !
Bonjour,
Le "type d'un fichier" ça n'existe pas. Tous les fichiers sont une série d'octets, il n'y a pas de différence.
Selon le système d'exploitation tu peux avoir des notions d'extensions ou de droits d'exécutions qui te permettent de rajouter des informations supplémentaires. Mais rien de généralisable.
Le "type d'un fichier" ça n'existe pas. Tous les fichiers sont une série d'octets, il n'y a pas de différence.
Selon le système d'exploitation tu peux avoir des notions d'extensions ou de droits d'exécutions qui te permettent de rajouter des informations supplémentaires. Mais rien de généralisable.
Dans se cas, comment faire pour afficher les extensions ?
Les extensions n'ont de sens que sur Windows.
Si tu parles de "ls -l", tu es probablement sur GNU/Linux. Oublie donc cette histoire d'extension.
ls -l ne donne pas le type de fichier. Il affichera juste s'il s'agit d'un répertoire ou pas... En revanche, il affichera aussi les droits du fichier (lecture, écriture, etc.).
Est-ce bien ls -l que tu souhaites reproduire ?
Si tu parles de "ls -l", tu es probablement sur GNU/Linux. Oublie donc cette histoire d'extension.
ls -l ne donne pas le type de fichier. Il affichera juste s'il s'agit d'un répertoire ou pas... En revanche, il affichera aussi les droits du fichier (lecture, écriture, etc.).
Est-ce bien ls -l que tu souhaites reproduire ?