obtenir le type de système de fichiers en utilisant le système de fichiers de boost

StackOverflow https://stackoverflow.com/questions/9319457

  •  26-10-2019
  •  | 
  •  

Question

Y at-il une méthode boost :: système de fichiers qui donne le type de système de fichiers pour un chemin, tel que prévu par;

$ stat -f -L -c %T .
ext2/ext3

Je ne veux pas nécessairement une chaîne. Une valeur énumérée ferait.

Était-ce utile?

La solution

Je ne pense pas que boost fournit aucune façon pour effectuer des requêtes de type système de fichiers. Cependant, vous pouvez utiliser la fonction statfs à cet effet. A partir de la page man -

Les rendements fonction statfs () des informations sur un système de fichiers monté. chemin est le chemin d'accès d'un fichier dans le système de fichiers monté. buf est un pointeur sur une structure statfs définie comme suit approximativement:

       struct statfs {
           __SWORD_TYPE f_type;    /* type of file system (see below) */
           __SWORD_TYPE f_bsize;   /* optimal transfer block size */
           fsblkcnt_t   f_blocks;  /* total data blocks in file system */
           fsblkcnt_t   f_bfree;   /* free blocks in fs */
           fsblkcnt_t   f_bavail;  /* free blocks available to
                                      unprivileged user */
           fsfilcnt_t   f_files;   /* total file nodes in file system */
           fsfilcnt_t   f_ffree;   /* free file nodes in fs */
           fsid_t       f_fsid;    /* file system id */
           __SWORD_TYPE f_namelen; /* maximum length of filenames */
           __SWORD_TYPE f_frsize;  /* fragment size (since Linux 2.6) */
           __SWORD_TYPE f_spare[5];
       };
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top