comment puis-je enregistrer les résultats d'un code Fortran77 dans un fichier texte?

StackOverflow https://stackoverflow.com/questions/676920

  •  21-08-2019
  •  | 
  •  

Question

Je veux enregistrer les résultats dans un fichier texte. Comment puis je faire ça? Ecrire la commande?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top