Fonction système langage c
Résolu
a n
-
a n -
a n -
Hey,
J'écris actuellement un programme en C sous Linux. J'ai besoin d'une fonction qui rcupère le contenu de la variable PATH. J'ai trouvé la fonction getenv(), où il faut lui spécifier la variable d'environnement en paramètre. Mais elle me rend une chaine de caractère avec les chemin séparer par des deux points. Y a t-il une fonction plus adapaté ou chaque chemin est stocké dans une chaine de caractère, ou alors il faut que je me débrouille pour les décortiquer de cette chaine ?
ET j'aimerais aussi savoir si il existe une fonction permettant de récupérer les droit sur un fichier, avec le groupe auquel il appartient, etc...
J'écris actuellement un programme en C sous Linux. J'ai besoin d'une fonction qui rcupère le contenu de la variable PATH. J'ai trouvé la fonction getenv(), où il faut lui spécifier la variable d'environnement en paramètre. Mais elle me rend une chaine de caractère avec les chemin séparer par des deux points. Y a t-il une fonction plus adapaté ou chaque chemin est stocké dans une chaine de caractère, ou alors il faut que je me débrouille pour les décortiquer de cette chaine ?
ET j'aimerais aussi savoir si il existe une fonction permettant de récupérer les droit sur un fichier, avec le groupe auquel il appartient, etc...
A voir également:
- Fonction système langage c
- Restauration systeme windows 10 - Guide
- Vérificateur des fichiers système - Guide
- Fonction si et - Guide
- Langage ascii - Guide
- Langage binaire - Guide
4 réponses
Pas de fonctions plus adaptées.
En revanche, tu peux utiliser strtok() pour découper facilement ta chaîne.
Cdlt,
En revanche, tu peux utiliser strtok() pour découper facilement ta chaîne.
Cdlt,
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
struct stat stat_buf;
if ( stat( "File Name", &stat_buf) == -1)
{
exit (1);
}
printf("Permissions: %o\n", stat_buf.st_mode & 0777);
Source : https://answers.yahoo.com/question/index?qid=20071207091917AANbrGo
#include <sys/types.h>
#include <sys/stat.h>
struct stat stat_buf;
if ( stat( "File Name", &stat_buf) == -1)
{
exit (1);
}
printf("Permissions: %o\n", stat_buf.st_mode & 0777);
Source : https://answers.yahoo.com/question/index?qid=20071207091917AANbrGo
Salut,
Question 1:
De mémoire il faut parser la chaîne retournée, soit avec strtok soit avec strsep:
Question 2:
Tu peux le faire avec 'stat':
Question 1:
De mémoire il faut parser la chaîne retournée, soit avec strtok soit avec strsep:
Question 2:
Tu peux le faire avec 'stat':
#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <sys/types.h> #include <grp.h> #include <pwd.h> int main(int argc, char** argv) { const char* filename = "/proc/cpuinfo"; struct stat buf; if(stat(filename, &buf) == -1) exit(1); printf("File name: %s\n", filename); printf("UID: %s (%d)\n", getpwuid(buf.st_uid)->pw_name, buf.st_uid); printf("GID: %s (%d)\n", getgrgid(buf.st_gid)->gr_name, buf.st_gid); printf("Mode: %o\n", buf.st_mode & 0777); return 0; }