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 :

Concaténer un character et un chiffre


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Par défaut Concaténer un character et un chiffre
    Bonjour,

    j'ai un petit souci pour concaténer un character et un chiffre, lorsque j'imprime le resultat sur l'écran ça me donne des caractères en plus !
    Je vous remercie pour l'aide.

    Mon programme est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    debut = 1
              Write (fichier(12:17),'(I6)') 100000+debut
            fichier(1:12)='CCRL161-anm-'
            fichier(18:21)='.dat'
            print*,fichier
     
     
    8888    if(filename.ne.fichier)then
            read(29,*) filename
            goto 8888
            endif
    Résultat :
    CCRL161-anm-00001.datIE ÿÿÿÿÿÿÿÿ

    PGFIO-F-217/list-directed read/unit=29/attempt to read past end of file.
    File name = anm.lis formatted, sequential access record = 2055
    In source file amine.f, at line number 36
    D'ailleurs j'ai une autre erreur sur le fichier d'après mais je pense c'est parce que la boucle ne trouve pas le nom de fichier d'avant !

    Une autre question au fait, sur le test de chararcter, est-ce que c'est correct de faire un test comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if(filename.ne.fichier)then
    Merci beaucoup pour votre aide !

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut!
    Ton problème provient d'une particularité des instructions Print et Write en Fortran: lorsque tu les utilises avec une variable de type Character, elles écrivent toute la chaîne déclarée et non seulement la partie utile. Dans ton cas, tu devrais soit la déclarer par
    soit, si elle est déclarée plus longue, l'écrire par:
    Jean-Marc Blanc

  3. #3
    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
    Par défaut
    Réponse alternative à celle de Jean-Marc:

    Une variable caractère en Fortran occupe tout l'espace pour lequel elle est déclarée. Si tu fais :

    character (20) :: VarCar
    VarCar = 'ABC'

    VarCar contiendra ABC suivit de 17 espaces.

    Dans ton cas, tu initialises seulement la section 1 à 21 de la variable. Ce qui suit le caractère 21 n'est jamais initialisé. Une correction facile consiste à ajouter la ligne « Fichier = ' ' » juste après debut=1

  4. #4
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Par défaut
    merci pour vos reponses ca marche!

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

Discussions similaires

  1. [RegEx] Concaténation de chiffres dans le remplacement
    Par razbitume dans le forum Langage
    Réponses: 4
    Dernier message: 03/05/2014, 11h33
  2. concaténation des chiffres dans excel 2007
    Par le sportif dans le forum Excel
    Réponses: 4
    Dernier message: 07/07/2013, 12h01
  3. Réponses: 6
    Dernier message: 16/07/2010, 15h53
  4. [V6] Concaténation de chiffres et tirets
    Par SAVIGNY dans le forum Deski
    Réponses: 3
    Dernier message: 29/04/2009, 13h09
  5. character set // Nls_lang
    Par fopicht dans le forum Oracle
    Réponses: 2
    Dernier message: 23/05/2002, 12h04

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