C fonction stat()
Seiya0890
Messages postés
210
Statut
Membre
-
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai un problème avec le premier argument de la fonction stat(),
https://man7.org/linux/man-pages/man2/stat.2.html
il me semble qu'il devrait s'agir d'une chaîne de caractère.
voici un expemple d'utilisation:
struct stat sb;
if (argc != 2) {
fprintf(stderr, "Usage: %s <pathname>\n", argv[0]);
exit(EXIT_FAILURE);
}
if (stat(argv[1], &sb) == -1) {
perror("stat");
exit(EXIT_FAILURE);
}
printf("File type: ");
switch (sb.st_mode & S_IFMT) {
case S_IFBLK: printf("block device\n"); break;
case S_IFCHR: printf("character device\n"); break;
case S_IFDIR: printf("directory\n"); break;
case S_IFIFO: printf("FIFO/pipe\n"); break;
case S_IFLNK: printf("symlink\n"); break;
case S_IFREG: printf("regular file\n"); break;
case S_IFSOCK: printf("socket\n"); break;
default: printf("unknown?\n"); break;
}
mon but ici est d'afficher des informations sur un repertoire ou fichier (ici désigné par argv[1] ) . Jusque la ça marche bien, le probleme c'est que pour certaines raisons j'ai absolument besoin de remplacer
stat(argv[1], &sb) == -1)
par
stat(strcat(chaine,argv[1]), &sb) == -1) // ou chaine est une chaine de caractere
malheureusement le "strcat(chaine,argv[1])" ne prend pas, même strcat("./",argv[1]) ne marche pas T_T . Est ce que quelqu'un pourrait m'aider svp ?
j'ai un problème avec le premier argument de la fonction stat(),
https://man7.org/linux/man-pages/man2/stat.2.html
il me semble qu'il devrait s'agir d'une chaîne de caractère.
voici un expemple d'utilisation:
struct stat sb;
if (argc != 2) {
fprintf(stderr, "Usage: %s <pathname>\n", argv[0]);
exit(EXIT_FAILURE);
}
if (stat(argv[1], &sb) == -1) {
perror("stat");
exit(EXIT_FAILURE);
}
printf("File type: ");
switch (sb.st_mode & S_IFMT) {
case S_IFBLK: printf("block device\n"); break;
case S_IFCHR: printf("character device\n"); break;
case S_IFDIR: printf("directory\n"); break;
case S_IFIFO: printf("FIFO/pipe\n"); break;
case S_IFLNK: printf("symlink\n"); break;
case S_IFREG: printf("regular file\n"); break;
case S_IFSOCK: printf("socket\n"); break;
default: printf("unknown?\n"); break;
}
mon but ici est d'afficher des informations sur un repertoire ou fichier (ici désigné par argv[1] ) . Jusque la ça marche bien, le probleme c'est que pour certaines raisons j'ai absolument besoin de remplacer
stat(argv[1], &sb) == -1)
par
stat(strcat(chaine,argv[1]), &sb) == -1) // ou chaine est une chaine de caractere
malheureusement le "strcat(chaine,argv[1])" ne prend pas, même strcat("./",argv[1]) ne marche pas T_T . Est ce que quelqu'un pourrait m'aider svp ?
A voir également:
- C fonction stat()
- Fonction si et - Guide
- Win dir stat - Télécharger - Gestion de fichiers
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide