comment puis-je enregistrer les résultats d'un code Fortran77 dans un fichier texte?
Question
Je veux enregistrer les résultats dans un fichier texte. Comment puis je faire ça? Ecrire la commande?
La solution
oui, la commande d'écriture. Et la commande ouverte pour ouvrir le fichier. Quelque chose comme ça, si ma mémoire rouillée FORTRAN sert:
OPEN(UNIT=1, FILE=FNAME, STATUS='NEW')
WRITE(UNIT=1,FMT=*) "your data"
Votre autre option est d'écrire simplement stdout (unité = *) et rediriger la sortie de la ligne de commande (par exemple: $ myfortranprogram> sortie.txt).
Autres conseils
Oui, la commande d'écriture. Les détails devraient être dans un livre ou sur le net, mais voici un exemple simple:
OPEN(UNIT=20, FILE='FILENAME.TXT', STATUS='NEW')
C STATUS='NEW' WILL CREATE A NEW FILE IF ONE DOESN'T EXITST, 'REPLACE' WILL
C OVERWRITE OLD ONE
WRITE(UNIT=20, *)(A(I),I=1,10)
CLOSE(UNIT=20)
En fortran77 il a toujours été bonnes pratiques pour éviter faible (inférieur à 10) numéros d'unité, parce que certains d'entre eux ont été réservés -. En fonction de la plate-forme, compilateur ... généralement, commencez par ceux ci-dessus 10
Si vous êtes sur unix / linux (ce qui est probable), puis juste rediriger la sortie vers un fichier:
a.out > myoutputfile
où a.out est le nom de l'exécutable compilé. Vous pouvez également modifier votre code pour écrire dans un fichier au lieu de simplement à la console:
io=22 !or some other integer number
open(io,file="myoutputfile")
write(io,*)myint,myreal
close(io)
ou de garder les valeurs à annexant un fichier existant:
open(io,file="myoutputfile",position="APPEND")
mais cela ne peut en Fortran 90, pas Fortran 77. Renommez votre .F à .f90 dans ce cas.