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 :

Création de fichiers txt


Sujet :

Fortran

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 29
    Points
    29
    Par défaut Création de fichiers txt
    Bonjour,
    je veux créer une suite de fichiers .txt qui contiennent tous une même phrase mais j'ai un problème.
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    program quicest
    implicit none
    character nom(7)
    character a,b,c
    character n(1:7)
    integer i,j,k,s
    do i=65,90
    	do j=65,90
    		do k=65,90
    			a=char(i)
    			b=char(j)
    			c=char(k)
    			nom(1)=a
    			nom(2)=b
    			nom(3)=c
    			nom(4)='.'
    			nom(5)='t'
    			nom(6)='x'
    			nom(7)='t'
    			open(11,file='temp.txt')
    			write(11,*)nom
    			open(12,file=nom)
    			write(12,*)'salut!!!'
    			write(*,*)nom
    		enddo
    	enddo
    enddo
    end
    Je veux qu'il me crée une suite de fichiers : AAA.txt;AAB.txt;AAC.txt;...
    mais, quand je mets open(12,file=nom), il me met seulement la première lettre et pas le .txt.
    Pouvez-vous m'indiquer mon erreur s'il vous plait ?

    Merci

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Points : 1 346
    Points
    1 346
    Par défaut
    La principale erreur est qu'une variable caractère en Fortran, ce n'est pas un vecteur (comme en C entre autre).

    Tu dois donc déclarer nom comme suit :

    Auquel cas tu as une variable scalaire de longueur 7 caractères.

    Pour remplacer les caractères, il y a plusieurs solutions :
    • Soit tu remplaces les caractères 1 par 1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Nom(1:1) = a
    Nom(2:2) = b
    ...
    • Soit tu affectes le résultat global par concaténaton.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Nom = a // b // c // '.txt'
    • Soit tu "écris" les caractères dans la variable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    write(Nom,'(4a)') a, b, c, '.txt'
    Le open utilisera alors la variable scalaire contenant le nom complet, pas seulement le premier élément d'un vecteur...

    Dernier problème: Tu dois fermer les fichiers ouverts par des close(unit), surtout si tu réouvre avec les mêmes units.

Discussions similaires

  1. Script CGI arborescence création de fichier txt
    Par Pienpien dans le forum Web
    Réponses: 1
    Dernier message: 18/08/2010, 14h33
  2. Réponses: 6
    Dernier message: 30/12/2009, 13h03
  3. pas de création de fichier txt
    Par isa3000 dans le forum Général Java
    Réponses: 5
    Dernier message: 30/07/2009, 14h28
  4. Problème de création de fichiers .txt en boucle
    Par droledelolo dans le forum C++
    Réponses: 23
    Dernier message: 29/08/2008, 17h59
  5. Création d'un fichier TXT dans un trigger
    Par palmi38 dans le forum Développement
    Réponses: 1
    Dernier message: 09/01/2006, 11h55

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