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 :

Existance d'un fichier, d'une apps.


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut Existance d'un fichier, d'une apps.
    Voila mon probleme est tout simple, je veux savoir si une application d'on je connaitrais l'@ existe.
    J'ai essayer ceci, sans grand sucses...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    void main()
    {
      char NOM_FICHIER[5][BUFSIZ],dossier_actuel[BUFSIZ]="\0",dossier_temp[BUFSIZ]="\0";
      FILE *P_FICHIER;      /* pointeur sur FILE */
      GetCurrentDirectory( 260 ,Dossier_actuel);
      sprintf(dossier_temp,"\"%s%s\"",dossier_actuel,"\\Boum\\Boum.exe");
      printf("%s ",dossier_temp);
      P_FICHIER = fopen(dossier_temp,"r");
      if ( P_FICHIER != NULL ) 
       { fclose(P_FICHIER);
          printf("1 : Boum.exe");
            //...   }
      //...
    }
    Mon "printf()"affiche le bon chemin, le fichier existe mais la condition n'est pas validée.
    Une Idée ?

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Par défaut
    Citation Envoyé par miron
    Une Idée ?
    Deux :
    - main() doit retourner un int (rien à voir avec ta question) ;
    - ajouter un "#include <errno.h>" et un "extern int errno;" au début de ton code, puis faire un " perror("erreur"); " quand l'ouverture échoue (sans rien faire entre l'échec et l'appel à perror() !) et nous donner le message affiché par perror().

  3. #3
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Citation Envoyé par David.Schris
    Deux :
    - main() doit retourner un int (rien à voir avec ta question) ;
    C'étais pour faire un programme pour vous qui soit compilable.
    Moi depuis un certain temps je mets tj int.
    - ajouter un "#include <errno.h>" et un "extern int errno;" au début de ton code, puis faire un " perror("erreur"); " quand l'ouverture échoue (sans rien faire entre l'échec et l'appel à perror() !) et nous donner le message affiché par perror().
    Citation Envoyé par perror()
    Erreur: Invalid argument

  4. #4
    Membre confirmé Avatar de _kal_
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Par défaut
    A tout hasard, est-ce normal que dossier_actuel ait une majuscule à la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GetCurrentDirectory( 260 ,Dossier_actuel);
    Le C est sensible à la casse

  5. #5
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Citation Envoyé par _kal_
    A tout hasard, est-ce normal que dossier_actuel ait une majuscule à la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GetCurrentDirectory( 260 ,Dossier_actuel);
    Le C est sensible à la casse
    Je sais, et je pensse de plus que c'est fort possible que tu ait raison, je vais verifier.
    Merci.
    PS: Ca ne resout qd meme pas mon probleme!

    VERIFICATION

    Apres verif en fait non car Dossier_actuel est un pointeur sur dossier_actuel, donc
    Dossier_actuel = @ de la premiere case du tableau dossier_actuel[].
    Et
    dossier_actuel = @ de la premiere case du tableau dossier_actuel[] aussi.
    D'où cela ne change rien.

  6. #6
    Membre confirmé Avatar de _kal_
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Par défaut
    Citation Envoyé par miron
    Je sais, et je pensse de plus que c'est fort possible que tu ait raison, je vais verifier.
    Merci.
    PS: Ca ne resout qd meme pas mon probleme!

    Je ne fait pas de programmation Windows, donc je ne connais pas la fonction GetCurrectDirectory. Est ce que celle-ci retourne une valeur ? Si oui, tu pourrai peut-être la tester avant d'ouvrir ton fichier.

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Par défaut
    Citation Envoyé par miron
    C'étais pour faire un programme pour vous qui soit compilable.
    Mauvaise excuse : un main() retournant un int ne rend pas un programme non compilable (mais un main() retournant un int sans "return"...). Ce n'est pas pour t'embêter, c'est pour que tu prennes de bonnes habitudes.


    Citation Envoyé par miron
    Citation Envoyé par perror()
    Erreur: Invalid argument
    Citation Envoyé par man errno
    EINVAL Argument invalide.
    Citation Envoyé par man fopen
    ERREURS
    EINVAL Le mode fourni à fopen, fdopen, ou freopen était invalide.
    Mmmh... Je reste perplexe...

    Qu'affiche exactement (fais un copier/coller) ton " printf("%s ",dossier_temp); " ? (pense aussi à mettre la sortie de ton programme quand tu as un rpoblème, cela peut aider)

  8. #8
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Citation Envoyé par David.Schris
    Mauvaise excuse : un main() retournant un int ne rend pas un programme non compilable (mais un main() retournant un int sans "return"...). Ce n'est pas pour t'embêter, c'est pour que tu prennes de bonnes habitudes.
    Mmmh... Je reste perplexe...
    Qu'affiche exactement (fais un copier/coller) ton " printf("%s ",dossier_temp); " ? (pense aussi à mettre la sortie de ton programme quand tu as un rpoblème, cela peut aider)
    Ces dernieres lignes mon fait comme un electrochoc, et j'ai penssasi dou pouvais provenir le probleme !!
    Ce n'est pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sprintf(dossier_temp,"\"%s%s\"",dossier_actuel,"\\Boum\\Boum.exe");
    Mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sprintf(dossier_temp,"%s%s",dossier_actuel,"\\Boum\\Boum.exe");
    Quil fallais mettre!!!
    Et la le code d'erreur est le bon:
    No such file or directory
    (car pour essais je l'ai suprimé)
    Donc un grand

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/07/2012, 22h16
  2. Tester si une valeur existe dans un fichier
    Par medben7 dans le forum C
    Réponses: 4
    Dernier message: 14/01/2012, 00h46
  3. modifier un fichier XML avec une App
    Par demzu dans le forum Windows Phone
    Réponses: 1
    Dernier message: 16/05/2011, 14h26
  4. verifier l'existence d'un fichier sur une URL
    Par titsyal dans le forum Langage
    Réponses: 5
    Dernier message: 10/12/2009, 17h06
  5. Implémenter un fichier Word dans une APP VB.net
    Par xzéna dans le forum VB.NET
    Réponses: 6
    Dernier message: 15/03/2009, 16h04

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