Verifier l'existance d'1 fichier en C
Résolu/Fermé
asma sisi
Messages postés
96
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
23 mars 2011
-
1 janv. 2010 à 22:49
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 2 janv. 2010 à 12:37
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 2 janv. 2010 à 12:37
A voir également:
- Verifier l'existance d'1 fichier en C
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Verifier un lien - Guide
5 réponses
Utilisateur anonyme
1 janv. 2010 à 22:56
1 janv. 2010 à 22:56
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
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
1 janv. 2010 à 23:14
1 janv. 2010 à 23:14
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,
asma sisi
Messages postés
96
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
23 mars 2011
20
1 janv. 2010 à 23:56
1 janv. 2010 à 23:56
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 .
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
2 janv. 2010 à 00:11
2 janv. 2010 à 00:11
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,
asma sisi
Messages postés
96
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
23 mars 2011
20
2 janv. 2010 à 00:25
2 janv. 2010 à 00:25
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
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
>
asma sisi
Messages postés
96
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
23 mars 2011
2 janv. 2010 à 00:39
2 janv. 2010 à 00:39
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).
asma sisi
Messages postés
96
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
23 mars 2011
20
>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
2 janv. 2010 à 00:49
2 janv. 2010 à 00:49
si ton projet c'est un mini-compilateur, c'est à toi de gérer les répertoires à tester par défaut
donc si j'ai bien compris il est toujours indispensable de tester l'existence des headers dans le répertoire par défaut que je doit gérer , ce qui repose ma première question ..non??
donc si j'ai bien compris il est toujours indispensable de tester l'existence des headers dans le répertoire par défaut que je doit gérer , ce qui repose ma première question ..non??
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
>
asma sisi
Messages postés
96
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
23 mars 2011
2 janv. 2010 à 10:18
2 janv. 2010 à 10:18
donc si j'ai bien compris il est toujours indispensable de tester l'existence des headers dans le répertoire par défaut que je doit gérer
Oui ton compilateur doit avertir l'utilisateur en cas de non-existence du fichier. Le répertoire de recherche par défaut est à gérer par ton programme.
Oui ton compilateur doit avertir l'utilisateur en cas de non-existence du fichier. Le répertoire de recherche par défaut est à gérer par ton programme.
asma sisi
Messages postés
96
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
23 mars 2011
20
>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
2 janv. 2010 à 10:35
2 janv. 2010 à 10:35
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
asma sisi
Messages postés
96
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
23 mars 2011
20
Modifié par asma sisi le 29/03/2010 à 01:14
Modifié par asma sisi le 29/03/2010 à 01:14
@
The challenge is so hard but it can makes from our life an eternal spring ...
The challenge is so hard but it can makes from our life an eternal spring ...
1 janv. 2010 à 23:04