Verifier l'existance d'1 fichier en C
Résolu
asma sisi
Messages postés
96
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- Verifier l'existance d'1 fichier en C
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
5 réponses
Bonjour,
Tu peux utiliser la fonction fopen(), et si le pointeur sur ton fichier vaut toujours NULL après son appel, alors ton fichier n'existe pas.
Tu peux utiliser la fonction fopen(), et si le pointeur sur ton fichier vaut toujours NULL après son appel, alors ton fichier n'existe pas.
fiddy
Messages postés
11069
Date d'inscription
Statut
Contributeur
Dernière intervention
1 846
Pas forcément. Cela peut vouloir dire qu'il n'a pas les droits de lecture sur le fichier (entre autres).
Salut,
En C, il n'existe aucun moyen standard de vérifier l'existence d'un fichier.
Sous windows, tu peux comparer errno avec ENOENT si fopen(file,"r") à échouer.
Cdlt,
En C, il n'existe aucun moyen standard de vérifier l'existence d'un fichier.
Sous windows, tu peux comparer errno avec ENOENT si fopen(file,"r") à échouer.
Cdlt,
salut,
merci pour vos réponses mais en réalité , ce que je voulais est de chercher l'existence d'un fichier dans la variable d'environnement path ce qui veut dire dans un endroit précis ,hors que fopen peut chercher seulement dans le répertoire courant .
je précise que mon projet doit être sous LINUX et non pas windows .
merci pour vos réponses mais en réalité , ce que je voulais est de chercher l'existence d'un fichier dans la variable d'environnement path ce qui veut dire dans un endroit précis ,hors que fopen peut chercher seulement dans le répertoire courant .
je précise que mon projet doit être sous LINUX et non pas windows .
fichier dans la variable d'environnement path ce qui veut dire dans un endroit précis
Dans path, il n'y a que des répertoires, et non des fichiers.
fopen peut chercher seulement dans le répertoire courant .
Pas du tout. Tu peux indiquer le chemin absolu dans fopen. Par exemple : fopen("/home/toto/fichier","r");
Peux-tu donner un exemple plus concret de ce que tu veux ?
Cdlt,
Dans path, il n'y a que des répertoires, et non des fichiers.
fopen peut chercher seulement dans le répertoire courant .
Pas du tout. Tu peux indiquer le chemin absolu dans fopen. Par exemple : fopen("/home/toto/fichier","r");
Peux-tu donner un exemple plus concret de ce que tu veux ?
Cdlt,
ok merci fiddy pour les corrections
clairement j'ai un projet de construction d'un mini-compilateur du langage C , en utilisant LEX et YACC .
a la détection des erreurs je veut se rassurer si la (les) librairies incluses existent ,sinon j'affiche une erreur disant que cette bibliothèque n'existe pas . ces bibliothèques sont stocké (je croix..mais pas sur) dans un dossier dont l'adresse est indiqué dans la variable d'environnement path.
donc si je trouve une fonction qui me cherche ce fichier.h dans ce répertoire, je pourrai savoir si cette bib existe ou non
merci
clairement j'ai un projet de construction d'un mini-compilateur du langage C , en utilisant LEX et YACC .
a la détection des erreurs je veut se rassurer si la (les) librairies incluses existent ,sinon j'affiche une erreur disant que cette bibliothèque n'existe pas . ces bibliothèques sont stocké (je croix..mais pas sur) dans un dossier dont l'adresse est indiqué dans la variable d'environnement path.
donc si je trouve une fonction qui me cherche ce fichier.h dans ce répertoire, je pourrai savoir si cette bib existe ou non
merci
donc si je trouve une fonction qui me cherche ce fichier.h dans ce répertoire, je pourrai savoir si cette bib existe ou non
Attention à ne pas confondre bibliothèque (.lib ou .a) et son header (.h). Deux choses différentes.
ces bibliothèques sont stocké (je croix..mais pas sur) dans un dossier dont l'adresse est indiqué dans la variable d'environnement path.
Non. La variable PATH contient la liste des répertoires à parcourir pour lancer une commande.
Pour vérifier l'existence des bibliothèques et des headers, il s'agit des variables définies par ton compilateur et non par le système. Donc en gros, si ton projet c'est un mini-compilateur, c'est à toi de gérer les répertoires à tester par défaut (quitte à pouvoir le changer via une option).
Attention à ne pas confondre bibliothèque (.lib ou .a) et son header (.h). Deux choses différentes.
ces bibliothèques sont stocké (je croix..mais pas sur) dans un dossier dont l'adresse est indiqué dans la variable d'environnement path.
Non. La variable PATH contient la liste des répertoires à parcourir pour lancer une commande.
Pour vérifier l'existence des bibliothèques et des headers, il s'agit des variables définies par ton compilateur et non par le système. Donc en gros, si ton projet c'est un mini-compilateur, c'est à toi de gérer les répertoires à tester par défaut (quitte à pouvoir le changer via une option).
je suis d'accord que c'est moi qui doit indiquer le répertoire de recherche par défaut mais avez vous une idée sur :comment faire la recherche proprement dite dans ce répertoire.
le mini-compilateur est déjà implémenté par un programme LEX où est ce que le le parcours des données du programme a compiler (analyse lexicale syntaxique et sémantique , y compris le teste de l'existence du header)se fait en C , c'est pour cela que je cherche une fonction en C.
merci
le mini-compilateur est déjà implémenté par un programme LEX où est ce que le le parcours des données du programme a compiler (analyse lexicale syntaxique et sémantique , y compris le teste de l'existence du header)se fait en C , c'est pour cela que je cherche une fonction en C.
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question