[Fortran] ecrire sur plusieurs fichiers
laventurier
-
cchristian Messages postés 928 Statut Membre -
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.
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
-
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. -
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