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 :

Sauts de ligne lors de la lecture de fichier


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 129
    Par défaut Sauts de ligne lors de la lecture de fichier
    Bonjour,

    J'en suis à mon deuxième jour de Fortran, et je cherche à lire ligne par ligne un fichier. Ça semble faire le boulot, mais je n'arrive pas à comprendre pourquoi j'ai des sauts de lignes lors de la lecture des lignes du fichier ouvert.

    Au lieu d'avoir comme dans mon fichier

    J'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    a
     
     
    a
     
     
    a
    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
    19
    20
    21
    22
    PROGRAM f
     
        IMPLICIT NONE
        INTEGER :: i=0, ierr
        CHARACTER(len=500) :: ligne
     
        open(11, file="serv.py", action="read", iostat=ierr)
        DO
            read(11, ("(a)"), iostat=ierr) ligne
            IF (ierr == 0) THEN
                IF (ligne /= "") THEN
                    print*, ligne
                END IF
            ELSE
                CLOSE(11)
                EXIT
            END IF
        END DO
     
     
     
    END PROGRAM f
    Merci par avance,

    PS : Si vous avez des astuces sur ce langage, c'est avec plaisir que je prends, encore merci...

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 129
    Par défaut
    Bon eh bien je m'auto répond, la solution est la fonction TRIM,

    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
    19
    20
    21
    22
    PROGRAM f
     
        IMPLICIT NONE
        INTEGER :: i=0, ierr
        CHARACTER(len=500) :: ligne
     
        open(11, file="serv.py", action="read", iostat=ierr)
        DO
            read(11, ("(a)"), iostat=ierr) ligne
            IF (ierr == 0) THEN
                IF (ligne /= "") THEN
                    print*, TRIM(ligne)
                END IF
            ELSE
                CLOSE(11)
                EXIT
            END IF
        END DO
     
     
     
    END PROGRAM f

  3. #3
    Membre Expert
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Par défaut
    Bonjour.

    Et donc quelle serait l'origine du problème si la fonction TRIM est arrivée à le résoudre ?

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 129
    Par défaut
    Et donc quelle serait l'origine du problème si la fonction TRIM est arrivée à le résoudre ?
    Les caractères vides à supprimer

  5. #5
    Membre Expert
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Par défaut
    Bonjour.

    D'accord, donc ce ne sont pas des sauts de lignes mais la suite vide des lignes imprimées ou affichées.

  6. #6
    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
    Par défaut
    Précision : Ce ne sont pas des vides, mais des espaces. En Fortran, les chaînes sont automatiquement complétées par des espaces lors de l'affectation avec une chaîne plus courte.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    character (10) :: S
    S = 'ABC' ! S contient 'ABC       '
    S = ''! S contient '          ', il n'est pas possible de "vider" S

  7. #7
    Membre Expert
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Par défaut
    Citation Envoyé par Sylvain Bergeron Voir le message
    Précision : Ce ne sont pas des vides, mais des espaces. En Fortran, les chaînes sont automatiquement complétées par des espaces lors de l'affectation avec une chaîne plus courte.
    Bien entendu, au temps pour moi pour cet abus de langage.

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

Discussions similaires

  1. [PHP 5.0] Saut de ligne lors d'un include
    Par Kuchiki Byakuya dans le forum Langage
    Réponses: 2
    Dernier message: 26/09/2012, 19h21
  2. [XL-2007] Saut de ligne lors de lecture fichier .txt
    Par Loupire dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/01/2010, 09h02
  3. [notepad++] Perte des sauts de ligne lors des copier/coller
    Par L'aigle de Carthage dans le forum Windows Vista
    Réponses: 4
    Dernier message: 26/12/2009, 19h56
  4. Sortable List : Eviter les sauts de ligne lors des débordements
    Par angel 2004 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 28/01/2008, 11h20
  5. Problème de sauts de lignes lors d'un export Excel
    Par guidav dans le forum Langage
    Réponses: 1
    Dernier message: 14/06/2006, 14h58

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