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 :

erreur exécution call system


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Par défaut erreur exécution call system
    Bonjour à tous,

    J'ai tenté de coder un bout de programme en fortran qui doit tout simplement décompresser des données. Pour ce faire, j'utilise la commande call system en complément de bunzip2.

    La compilation se passe sans problème. Aucune erreur de renvoyée. Par contre, quand j'éxécute le programme, ca plante. Le fichier n'est pas décompressé et je ne vois pas d'où ca peut venir...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    call system ('bunzip2 -c
         $/home/****/DX_ISCCP/2006/06/01/ISCCP.DX.0.MET-7.
         $2006.06.01.1200.EUM.bz2')
    L'erreur lors de l'exécution est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bunzip2: Can't open input file /home/****/DX_ISCCP/2006/06/01/ISCCP.DX.0.MET-7.: No such file or directory.
    De ce que je comprends, le programme tente de decompresser uniquement la première ligne dans ce soucier de la seconde... Du coup, le nom du fichier est incomplet... Si quelqu'un sait d'où ca peut venir...

    Merci d'avance !

  2. #2
    Membre éprouvé
    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
    Par défaut
    Bonjour,
    c'est juste une remarque mais pourquoi ne pas mettre la commande sur une seule ligne ? Si c'est pour une question de lisibilité, pourquoi n'y a t-il pas de caractère de continuation de ligne (symbole "&") ?

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Par défaut
    Alors le chemin d'accès est trop long pour tenir sur une seule ligne, c'est pour ca que je fais un renvoie à la ligne.

    Pour ce qui est du "&", j'ai essayé avec et sans et aucune différence...

    J'ai une version de ce programme qui fonctionne parfaitement sans les "&" sur un serveur de données... Du coup, je pencherais pour un problème directement lié à ma machine en local. Soit c'est le compilateur qui bug (j'en doute), soit il manque des trucs en local pour qu'unzip fonctionne correctement. Je pense plus à cette solution...

  4. #4
    Membre éprouvé
    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
    Par défaut
    Bonjour,
    Ca semble quand même étonnant que le compilateur comprenne une instruction sur 3 lignes.
    Ce que tu peux faire c'est mettre l'instruction dans une variable caractère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    character*200 :: commande
     
    commande = "bunzip2 -c"
    commande = trim(commande)//"$/home/****/DX_ISCCP/2006/06/01/SCCP.DX.0.MET-7."
    ...
     
    write(*,"(A)") commande  ! ca permet de vérifier que la commande est la bonne
    call system(commande)
    Au moins tu peux vérifier que la commande est la bonne et cibler le problème.

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Par défaut
    Merci pour cette réponse.

    J'ai pu contourner le problème en utilisant les // pour concaténer le tout.

    Je ne comprends pas trop pourquoi le programme attend une telle instruction mais ca fonctionne...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    call system ('bunzip2 '//
         $     '/home/*******/DX_ISCCP/2006/06/01/ISCCP.DX.0.MET-7.2006'//
         $'.06.01.1200.EUM.bz2')

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

Discussions similaires

  1. débutant: erreur exécution JAR
    Par sroux dans le forum Langage
    Réponses: 3
    Dernier message: 26/09/2006, 12h17
  2. [JSP] Erreur exécution
    Par arnapou dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 06/07/2006, 15h53
  3. [ debutant ] exécution commande system() en click JButton
    Par ganjaman dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 18/11/2005, 18h59
  4. erreur exécution requête
    Par MANU_2 dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/10/2005, 07h27
  5. [c#] un erreur dans le system.drawing...
    Par pointer dans le forum DirectX
    Réponses: 3
    Dernier message: 13/07/2005, 20h17

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