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 lecture fichier sur mac


Sujet :

Fortran

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Erreur lecture fichier sur mac
    Bonjour,
    Je suis sur mac et j'ai un problème de lecture de fichier. Quand je lance mon code, je reçois en retour le fichier a.out suivant:

    Last login: Sat Apr 9 14:08:00 on ttys001
    /Users/Alex/Desktop/Beleg/a.out ; exit;
    alex:~ Alex$ /Users/Alex/Desktop/Beleg/a.out ; exit;
    At line 8 of file Ex1.f90
    Fortran runtime error: End of file
    logout
    La ligne 8 est: read(11,*) n



    Voici mon code:

    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
    16
    17
    18
    program Ex1
     
    implicit none
    real, allocatable:: x(:), y(:)
    integer i, n
     
    open(11, file='Koord.txt')
    read(11,*) n
    write(*,*) n
    allocate(x(n))
    allocate(y(n))
     
    do i=1,n
        read(11,*) x(i), y(i)
    enddo
    close(11)
    write(*,*) x, y
    end
    avec le fichier 'Koord.txt' suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    5
    1,0    6,0
    2,0    7,0
    3,0    8,0
    4,0    9,0
    5,0    0,0
    La première ligne donne la dimension des vecteurs et dans les lignes suivantes le premier chiffre doit être assimilé à x et le second à y.

    Merci beaucoup à quiconque peut m'aider,
    Alex

  2. #2
    Membre habitué Avatar de Grame
    Profil pro
    Inscrit en
    Août 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Août 2007
    Messages : 148
    Points : 192
    Points
    192
    Par défaut
    Bonjour

    Je ne suis pas sur Mac mais sur Linux, mais, bon, on reste dans le monde unix.

    Avec ton fichier de données (Koord.txt) , j'ai la même erreur à l'exécution.
    Le problème vient des virgules que tu utilises dans l'écriture des réels.
    Si tu les remplace par des points, plus de problème.

    Bonne soirée

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci Grame. Malheureusement, même avec les points ça ne marche toujours pas.
    J'ai vu ici: http://macresearch.org/fortran_runti...or_end_of_file
    que le problème pourrait venir du format du fichier 'Koord'. Mais je ne comprend pas, j'ai tout essayé (par exemple créer le fichier sous TextEdit en mode 'plain text') et je continue d'avoir la même erreur.
    Doit-on faire qqch de spécial pour créer un fichier lisible par Fortran?

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 957
    Points : 4 386
    Points
    4 386
    Par défaut
    Citation Envoyé par duuh_ Voir le message
    Merci Grame. Malheureusement, même avec les points ça ne marche toujours pas.
    J'ai vu ici: http://macresearch.org/fortran_runti...or_end_of_file
    que le problème pourrait venir du format du fichier 'Koord'. Mais je ne comprend pas, j'ai tout essayé (par exemple créer le fichier sous TextEdit en mode 'plain text') et je continue d'avoir la même erreur.
    Doit-on faire qqch de spécial pour créer un fichier lisible par Fortran?
    faites dans Terminal :
    hexdump -C Koord.txt
    et regardez les fins de lignes : CR LF, CR ou LF ? (0d 0a, 0d ou 0a)
    Ensuite comparez avec ce qu'attend FORTRAN… il y a certainement discordance…

    TextEdit ne permet pas de changer les fins de lignes, vous pouvez le faire dans Terminal, ou avec des éditeurs graphiques comme Smultron, TextWrangler, TextMate, etc.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    J'ai fait hexdump et le terminal me renvoie ceci:

    00000000 35 0a 31 2e 30 09 36 2e 30 0a 32 2e 30 09 37 2e |5.1.0.6.0.2.0.7.|
    00000010 30 0a 33 2e 30 09 38 2e 30 0a 34 2e 30 09 39 2e |0.3.0.8.0.4.0.9.|
    00000020 30 0a 35 2e 30 09 30 2e 30 0a 0a |0.5.0.0.0..|
    0000002b
    Par contre je ne vois pas comment savoir ce qu'attend Fortran.
    Je n'ai jusqu'à présent que fait ça sur Windows et il suffisait de créer tout bêtement le fichier avec un quelconque éditeur de texte. J'ai essayé de lire les fichiers créés sur Windows et ça n'a pas marché non plus. Le problème c'est que je dois faire ça sur mac maintenant.

    J'ai également essayé de changer les options dans 'sauvegarder sous' dans TextWrangler sans que cela ne fonctionne non plus

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 957
    Points : 4 386
    Points
    4 386
    Par défaut
    Citation Envoyé par duuh_ Voir le message
    J'ai fait hexdump et le terminal me renvoie ceci:



    Par contre je ne vois pas comment savoir ce qu'attend Fortran.
    Je n'ai jusqu'à présent que fait ça sur Windows et il suffisait de créer tout bêtement le fichier avec un quelconque éditeur de texte. J'ai essayé de lire les fichiers créés sur Windows et ça n'a pas marché non plus. Le problème c'est que je dois faire ça sur mac maintenant.

    J'ai également essayé de changer les options dans 'sauvegarder sous' dans TextWrangler sans que cela ne fonctionne non plus
    votre fichier a 2 (0a) LFs à la fin : donc une ligne vide…
    votre programme n'est pas prévu pour gérer des lignes vides…

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Points : 1 346
    Points
    1 346
    Par défaut
    Considérant que :
    • Ton programme produit une erreur à la première lecture
    • Tu utilises un format libre (*) pour lire un entier.
    • Ton fichier est plein d'entiers (tes réels séparés par des virgules sont vus comme des entiers - c'est un autre problème, mais ce n'est pas la cause de l'erreur)
    • Ton open ne contient pas de restriction sur l'existance ou non du fichier.

    Je crois que le problème est que ton programme ne trouve pas le fichier Koord.txt et en créer donc un vide dans le répertoire de travail courant qui doit être différent du répertoire où tu crois être. La première lecture produit alors une erreur EOF puisque le fichier est vide...

    Ajoute donc une clause « status='old' » à ton open, pour voir...

  8. #8
    Membre habitué Avatar de Grame
    Profil pro
    Inscrit en
    Août 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Août 2007
    Messages : 148
    Points : 192
    Points
    192
    Par défaut
    Bonjour

    J'ai testé sur Mac cette fois (Mac OS X 10.7.3) et compilateurs HPC;

    Avec les mêmes fichiers que sur Linux, aucun problème et le même résultat,
    celui qui est escompté :

    ar010004:tmp$ ./a.out
    5
    1.0000000 2.0000000 3.0000000 4.0000000 5.0000000
    6.0000000 7.0000000 8.0000000 9.0000000 0.0000000
    Que donne la commande
    Es-tu sûr d'avoir choisi la bonne version du compilateur en rapport à la version de l'OS ?

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    J'ai essayé l'idée du « status='old' » ainsi que de réinstaller le compilateur, mais rien y fait.
    Mais ce n'est plus si grave. Je dois utiliser fortran pour un projet et mon groupe a assez d'ordinateur pour s'en sortir. Et je ne pense plus devoir utiliser fortran de ma vie après ça.
    Merci quand même pour l'aide!
    Alex

Discussions similaires

  1. Erreur Synchronisation fichiers sur lecteur réseau
    Par Ayana dans le forum Windows XP
    Réponses: 2
    Dernier message: 15/12/2008, 10h23
  2. jai un pb d'upload de fichier sur Mac OS X server
    Par lolodelp dans le forum Apple
    Réponses: 1
    Dernier message: 01/05/2008, 01h06
  3. Lecture fichier sur Serveur | authentification
    Par beekeep dans le forum ASP.NET
    Réponses: 1
    Dernier message: 23/08/2007, 15h11
  4. erreurs lecture fichier
    Par capucine1983 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 15/07/2007, 08h19
  5. Erreur lecture fichier avi
    Par ooyeah dans le forum Windows XP
    Réponses: 4
    Dernier message: 11/04/2007, 22h19

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