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

Fortran Discussion :

Tester l'existence d'un dossier (solution portable)


Sujet :

Fortran

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Tester l'existence d'un dossier (solution portable)
    Bonjour,

    J'ai vu dans le FAQ FORTRAN comment tester l'existence d'un fichier avec INQUIRE.
    Apparemment, on pourrait utiliser également INQUIRE pour tester l'existence d'un dossier mais cela ne marche pas pour moi sous WINDOWS.

    logical :: file_exists
    INQUIRE(File='E:/root/folder1/folder2', exist = file_exists)

    J'ai lu aussi que cela pouvait marcher mieux en rajoutant un '.' mais cela ne marche pas non plus...

    logical :: file_exists
    INQUIRE(File='E:/root/folder1/folder2/.', exist = file_exists)

    Est-ce que quelqu'un peut m'éclairer ?

    La solution doit marcher sous Windows, SUN, Linux.

    Merci d'avance.

  2. #2
    Membre régulier Avatar de rogue-spectre
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 104
    Points : 122
    Points
    122
    Par défaut
    Salut,

    Une idée serait peut être de passer par une variable temporaire. Du style tu crées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    character(len=1024) :: tmpString
     
    tmpString="E:/root/folder1/folder2/."
     
    INQUIRE(File=trim(tmpString), exist = file_exists)
    la fonction "trim" c'est pour enlever les blancs en début et fin de chaîne normalement. Comme ça tu peux même faire un traitement de ta chaine pour que les chemins puissent être valides sur chaque O.S. Ça reste à tester. Tu utilises quoi pour programmer en fortran sous WIN, je risque peut être d'y passer pour les quelques jours de vacances. En espérant que l'idée soit bonne.

    Bonne soirée
    Libérez vos documents http://fr.libreoffice.org/ et vos doigts en tapant en BÉPO http://bepo.fr/wiki/Accueil:, rangez les cartes perforées dans une armoire et GOTO work

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur modélisation aérodynamique
    Inscrit en
    Juillet 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur modélisation aérodynamique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 105
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    il me semble que, sous Windows, le séparateur de dossier soit "\" et non pas "/" .

  4. #4
    Membre régulier Avatar de rogue-spectre
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 104
    Points : 122
    Points
    122
    Par défaut
    un problème similaire :
    http://www.developpez.net/forums/d11...sence-dossier/

    avec ifort il est possible d'utiliser la syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      INQUIRE (DIRECTORY="path/du/dossier", EXIST=L_EXISTS)
    mais gfortran ne l'accepte pas aujourd'hui mais marche avec "FILE", je n'ai pas d'autre compilateur pour vérifier leur comportement.

    Bonne journée
    Libérez vos documents http://fr.libreoffice.org/ et vos doigts en tapant en BÉPO http://bepo.fr/wiki/Accueil:, rangez les cartes perforées dans une armoire et GOTO work

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Août 2011
    Messages : 49
    Points : 50
    Points
    50
    Par défaut
    Si tu veux une solution portable qui fonctionne avec plusieurs compilateur, je te conseil de créer plusieurs fichier par exemple inquire_g95.f90, inquire_ifort.f90, etc...

    dans chacun d'eux tu mets une sous-routine qui a le même nom et fait la même chose, mais dans le fichier ifort tu met la syntaxe ifort, dans le fichier g95 celle de g95, etc...

    Puis...tu met en place un test dans le makefile, ainsi, lorsque l'utilisateur compile avec ifort, ce sera la subroutine dans le fichier ifort qui sera compilé, etc...

    ainsi, quel que soit le compilateur, tu pourra utiliser ta subroutine qui aura été compilée toujours avec le compilateur qui lui correspond.

    Ça fait un peu usine à gaz, mais c'est la seule solution que j'ai trouvé pour le moment pour rendre le code le plus portable possible.

  6. #6
    Membre régulier Avatar de rogue-spectre
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 104
    Points : 122
    Points
    122
    Libérez vos documents http://fr.libreoffice.org/ et vos doigts en tapant en BÉPO http://bepo.fr/wiki/Accueil:, rangez les cartes perforées dans une armoire et GOTO work

Discussions similaires

  1. [bash] Tester l'existence d'un dossier avec espace
    Par cjeff71 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 04/06/2014, 12h31
  2. [WD17] FTP tester l'existence d'un dossier
    Par thierrybatlle dans le forum WinDev
    Réponses: 3
    Dernier message: 12/01/2012, 15h12
  3. Tester l'existance de dossier sous Outlook
    Par AOODET dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/10/2010, 17h49
  4. Tester l'existence d'un dossier dans plusieurs sous dossier
    Par titeZ dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/01/2008, 21h30
  5. Tester l'existence d'un dossier
    Par DooSquare dans le forum C
    Réponses: 3
    Dernier message: 17/06/2007, 15h14

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