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 :

Limite d'écriture dans un fichier ASCII ?


Sujet :

Fortran

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 45
    Points : 37
    Points
    37
    Par défaut Limite d'écriture dans un fichier ASCII ?
    Bonjour à tous,

    Je cherche à produire un fichier ASCII écrit sur une seule ligne avec le code ci-dessous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        REAL, ALLOCATABLE, DIMENSION(:)       :: Blon
        ....
        ALLOCATE(Blon(105705))
        ....
        open(unit=50,file=fileout,status='replace',position='rewind')
        write(50,20)  "Longitude",Blon
        20      format(a9,1x,105705(1x,f8.3))
        close ( unit = 50 )
    Seulement au lieu de créer un fichier d'une ligne, il en crée un avec 3 lignes.... Étant donné que ce tableau est très grand (>100000), je me demandais s'il y avait une limite implicite sur la taille de la ligne. Ou quoi ce soit d'autre qui expliquerait que le tableau est découpé sur 3 lignes au d'une !

    Merci d'avance,
    Marc

  2. #2
    Membre averti
    Homme Profil pro
    [SciComp]
    Inscrit en
    Août 2013
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : [SciComp]

    Informations forums :
    Inscription : Août 2013
    Messages : 134
    Points : 323
    Points
    323
    Par défaut
    Bonjour,

    Je ne rencontre pas le problème pour des tailles même déraisonnables de record de mon côté, mais c'est architecture-dependent et contrôlable avec le specifier "recl" (record length) du statement "open".
    A tester :
    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
    23
    24
    25
    26
     
     program test
         implicit none
         integer                         :: i, n, nrecl
         real, dimension(:), allocatable :: dummy
     
         n=105705
         ! format(a9,1x,105705(1x,f8.3))
         nrecl=9+1+n*(1+8)
     
         allocate (dummy(n))
         do i=1,n
             dummy(i)=10000.0*rand()
         enddo
     
         open(unit=20,file='output_noreclspec.dat',form='formatted')
         write(unit=20,fmt='(a9,1x,105705(1x,f8.3))') "Longitude", (dummy(i),i=1,n)
         close(unit=20)
     
         open(unit=30,file='output_wreclspec.dat',form='formatted',recl=nrecl)
         write(unit=30,fmt='(a9,1x,105705(1x,f8.3))') "Longitude", (dummy(i),i=1,n)
         close(unit=30)
     
         deallocate(dummy)
     
     end program test
    L'output output_noreclspec.dat devrait être sur plusieurs lignes et l'autre output_wreclspec.dat devrait être sur une seul ligne.
    Au fait, pourquoi rewind ?

    Cordialement,
    xflr6

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 45
    Points : 37
    Points
    37
    Par défaut
    Merci xflr6, j'ai essayé le test que tu suggères et les deux fichiers sont produits sur 3 lignes. Probablement une limitation système ou compilateur. Je vais opter pour une restructuration du fichier en post-traitement.

    Marc-Alex

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/08/2005, 11h57
  2. [PERL] Problème lecture/écriture dans un fichier
    Par LE NEINDRE dans le forum Langage
    Réponses: 4
    Dernier message: 17/08/2005, 13h15
  3. Problème d'écriture dans un fichier xml
    Par vanoou dans le forum C++Builder
    Réponses: 1
    Dernier message: 13/07/2005, 02h28
  4. Passer à la ligne lors de l'écriture dans un fichier
    Par hams dans le forum Assembleur
    Réponses: 4
    Dernier message: 17/04/2005, 19h25
  5. [JUnit] Junit écriture dans un fichier
    Par mikael35 dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 10/08/2004, 13h11

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