IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Vérifier l'existence d'un fichier sans utiliser la fonction open()


Sujet :

C

  1. #1
    Candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Octobre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Vérifier l'existence d'un fichier sans utiliser la fonction open()
    Bonjour, j'ai une petite question

    il serait intéressant de savoir si dans la librairie standard ANSI C, il n'existerait pas une fonction qui permet d'indiquer si un fichier, par exemple /dev/ttyACM0; existerait ou pas SANS OUVRIR LE FICHIER comme la fonction open() le fait.

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Déjà avec opendir() + readdir() + closedir() tu peux lire un dossier et donc par ricochet savoir si le dossier (ex /dev) contient le fichier "ttyACM0".

    Ensuite tu as la fonction stat() qui te récupère l'état d'un fichier (type, droits, taille, owner, group, dates d'accès). Si le fichier n'existe pas, il y a des chances qu'elle te le dise d'une façon ou d'une autre.
    Et enfin il existe la fonction access() qui te permet de tester les droits d'accès d'un fichier et qui offre la constante "F_OK" pour juste tester l'existence du fichier. Et une autre faccessat() un peu plus complexe parce qu'elle offre plus de possibilités dans la recherche.

    N'oublie pas de cliquer sur "Résolu".
    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]

  3. #3
    Candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Octobre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci de ton aide !

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    AlMerveille a dit "librairie standard ANSI C", pas "POSIX" (Edit: D'un autre côté, AlMerveille a aussi dit "open()").

    La réponse est non. En C standard, seule la fonction fopen() est disponible. Toutes les autres fonctions sont des extensions, définies par une autre norme que ANSI C. Et elles ne te mettent pas à l'abri d'une race condition où le fichier serait supprimé après le test de son existence...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Upload et download de fichier sans utiliser JSP
    Par RR instinct dans le forum Langage
    Réponses: 8
    Dernier message: 30/08/2006, 12h08
  2. Decompression d'un fichier sans utiliser les modules du CPAN
    Par choubiroute dans le forum Modules
    Réponses: 6
    Dernier message: 10/03/2006, 14h20
  3. [FTP] Vérifier l'existence d'un fichier !
    Par Invité dans le forum Langage
    Réponses: 1
    Dernier message: 19/02/2006, 12h09
  4. Réponses: 6
    Dernier message: 28/09/2005, 14h15
  5. Réponses: 3
    Dernier message: 24/06/2004, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo