[Fortran] ecrire sur plusieurs fichiers

laventurier -  
cchristian Messages postés 928 Statut Membre -
Bonjour,

J'ai un petit soucis avec fortran. En fait j'aimerais faire une boucle ou dedans j'ecris sur plusieurs fichiers differents mais qui ont preske le mme nom!

exmple :

do i = 1,10
open(UNIT=5+* ,file=' filename0 * '

write (5+*,299), a,b
close (5+*)
enddo

en fait jaimerais mettre a la place de * l'indicie 'i' . sauf que pour nommer filename01 -filename02-filename03-filename04... je ne sais pas comment on fait en Fortran.

je sais qu'en C il existe un truc du genre

sprintf(NAME,"output/time%d.dat", i );

mais quel est l'equivalent en fortran.

SVP aidez moi.
je vous remercie.
Configuration: Windows XP
Firefox 2.0.0.14

2 réponses

  1. cchristian Messages postés 928 Statut Membre 131
     
    Bonsoir,

    J'ai trouvé ça sur internet , je l'ai testé ça semble correspondre à ton problème :

    https://www.developpez.net/forums/d403807/general-developpement/algorithme-mathematiques/programmation-parallele-calcul-scientifique-haute-performance-hpc/fortran/concatener-entier-chaine-caracteres/

    Test :
     
           CHARACTER   F_NAME*20
    .....................
    ..................
           I  =   1
           F_NAME   = 'initialisation'
            Write  (F_NAME  (11:13) , '(I3)' )   I + 100
           PRINT  *, '00001  ' ,F_NAME
           F_NAME    (1:11)  =  'nomfichier_'
           PRINT  *, '00002  ' ,F_NAME
           F_NAME    (14:17) = '.txt'
           PRINT  *, '00003' ', F_NAME
    
    Résultats .
    00001  initialisa101n
    00002  nomfichier_01n
    00003  nomfichier_01.txt
    
    
    --
    Cordialement.

    Cchristian.
    1
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    j'ai souvenrir que les instructions ENCODE DECODE permettent de convertir un nombre en string et donc de fabriquer un nom de fichier avec une variable
    0