slt ;
je suis nouvelle en programmation C sous le systéme unix; comment puisse je verifier l'existance d'un fichier systéme à l'aide du langage C .
merci bcp .
slt ;
je suis nouvelle en programmation C sous le systéme unix; comment puisse je verifier l'existance d'un fichier systéme à l'aide du langage C .
merci bcp .
C'est quoi pour toi un "fichier système" ???
Si tu veux juste vérifier l'existence d'un fichier, tu peux utiliser la fonction acces()
Si tu veux examiner les caractéristiques d'un fichier (propriétaire, type, droits, etc) tu peux utiliser la fonction stat()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #include <unistd.h> ... if (acces("le_fichier_a_verifier", F_OK) == 0) printf("Le fichier existe\n");
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
merci bcp d'avoir me répondre
re
j'ai essaié une petit code pour tester la fonction dont vous avez parler et je lui donné un chemin d'accés d'un fichier existant mais il m'a affiché cette erreur au cours de la compilation :
erreur : undefind reference to acces
qu'est ce que ça veut dire ça !
moi ce que je cherche les fichier exécutable d'une commande qque, normalement il doit etre présent ds le répertoire /bin ,est ce que c'est le cas pour toutes les commandes ? si oui est ce je peux utiliser la la commande which du systéme au lieu de la fonction acces
merci d'avoir me répondre
access avec 2 s (certes c'est ma faute mais t'aurais pu chercher un peu)
Non. Une commande peut être dans /bin, /usr/bin, $HOME/bin, /usr/sbin, /usr/local/bin, etc...
C'est la variable PATH qui indique au système où aller chercher une commande quand tu l'appelles. Tu peux la modifier toi-même...
Ouch que de lacunes !!! T'es sûre de vouloir faire un programme pareil ? Avant de voler il faut d'abord apprendre à marcher...
On n'utilise pas une commande en C. A la limite on peut l'appeler via system("commande") ou l'appeler et traiter son résultat via
Mais le plus efficace (en terme de rapidité), c'est de refaire which
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 FILE *fp=popen("commande", "r") ... lecture du buffer fp comme on lirait un fichier ouvert par fopen...
1) récupérer la variable PATH => getenv("PATH")
2) découper cette variable suivant ":" => strtok_r()
3) pour chaque chemin extrait, lui rajouter le fichier que tu cherches => strcat()
4) vérifier via access si le fichier obtenu au 3) existe
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
re
toutes ces fonctions : strtok_r() ,getenv() sont incluses dans la bibliothéque string.h ? merci bcp
Partager