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 :

Incrémenter un n° dans un nom de fichier


Sujet :

Fortran

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Incrémenter un n° dans un nom de fichier
    bonjour,

    Je travaille sur un programme fortran ou je cherche a faire la chose suivante:

    sur un temps de 100 s, pour l'instant mon programme me cree et ecrit dans un fichier appeler optics.out, mais je desire en faite qu'il me creer 100 fichiers (un pour chaque seconde) avec mes resultats a l'interieur. Le seul soucis , c'est que je n'arrive pas a changer le nom du fichier a chaque fois que ma boucle do..enddo implemente de 1. Je desirerai avoir 100 fichiers texte du type optics1.out, optics2.out, optics3.out etc... mais je ne sais absolument pas comment faire incrementer le numero dans le nom du fichier avec OPEN(unit=84, file='optics.out').

    Si quelqu'un a une idee, qu'il m'en fasse part.

    Merci d'avance

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Mes notions de Fortran sont loin, mais tu dois pouvoir concaténer des chaines :
    définir comptage comme chaine
    comptage = convertenchaine(incrément de boucle)
    nomfichier="optics"+comptage+".out"

  3. #3
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Non, l'opérateur de concaténation de chaîne en Fortran est //. Mais si ton compteur est de type integer, cela ne fonctionnera pas.
    Le truc est de faire une écriture formattée dans le nom du fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    character*13 filename
    integer i
    integer n
    parameter(n=100)
     
    do i = 1, n 
      write(filename, '(a6,I3.3,a4)') 'optics', i, '.out'
      open(unit=17, file=filename)
      ...
      close(17)
    enddo
    Ainsi, tu auras des fichiers nommés optics001.out à optics100.out.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    j'l'avais dit que mon Fortran était loin (1984 )

  5. #5
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Citation Envoyé par Guardian
    j'l'avais dit que mon Fortran était loin (1984 )
    Héhé, le Fortran77 était encore tout frais! Ceci dit, il est possible que le '+' soit accepté en Fortran90, je n'ai jamais testé...

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Dans le bouquin que j'avais utilisé à l'époque, il est marqué "Comprend une étude de la norme Fortran 77".
    Et quand j'ai eu fini d'étudier (très rapidement), on m'a donné les sources à analyser... c'était du cobol

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    je vous remercie pour toute ces reponses, j'en ai fait un mix et finalement j'ai reussi

    merci a tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Permettre "/" dans les noms de fichier
    Par rodj dans le forum Administration système
    Réponses: 10
    Dernier message: 23/08/2006, 09h44
  2. [BATCH] Espaces dans les noms de fichiers :|
    Par andlio dans le forum Windows
    Réponses: 1
    Dernier message: 03/08/2006, 03h42
  3. Espace dans un nom de fichier
    Par pouli dans le forum Langage
    Réponses: 5
    Dernier message: 27/07/2006, 12h26
  4. Réponses: 6
    Dernier message: 03/05/2006, 11h01
  5. Réponses: 17
    Dernier message: 12/04/2005, 15h28

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