Next Previous Contents

3. Annexe : utilisation des chaînes de caractères

Contrairement à son ancêtre FORTRAN IV, le langage FORTRAN 77 reconnait l'existence du type prédéfini «chaîne de caractères». Ne nous en privons donc pas.

3.1 Déclaration

La taille des chaînes de caractères est fixée lors de la déclaration des objets de type CHARACTER. Par exemple les déclarations :

                    CHARACTER*10 TRUC
                    CHARACTER*50  MACHIN
fixent la taille des chaines TRUC et MACHIN à 10 et 50 caractères. La taille maximum est 255.

3.2 Constantes

Les constantes peuvent s'écrire sous trois formes :

3.3 Opérations sur les chaines de caractères

Concaténation, affectation, sélection

Exemple :

           CHARACTER*10 A,B
           CHARACTER*20 C,D
          ...
          C = A
          B = D
          C = A // B
          D(2:11) = C(1:5) // A(3:7)

La première instruction copie le contenu de A dans C. Cétant plus longue, les caractères de droite de C sont remplis avec des blancs (cadrage à gauche).

La seconde instruction copie les premiers caractères de D dans B (troncation).

La troisième instruction met bout-à-bout (concatène) les chaînes A et B, le résultat étant transféré ensuite dans C.

La quatrième instruction concatène les 5 premiers caractères de C avec les caractères 3 à 7 de A, le résultat étant placé dans les caractères 2 à 11 de D (les autres caractères de D ne sont pas touchés par l'opération).

On peut comparer des chaines grâce aux opérateurs habituels : .LT. .LE. .EQ. .NE. .GE. .GT. . Pour faire la comparaison la plus courte des chaines est allongée (virtuellement) par des blancs à droite.

Quelques fonctions

3.4 Entrées-sorties

Enfin, rappelons que les lectures-écritures de chaînes se font selon la spécification de format A.

Exemple :

     WRITE (*,100) 'LITTLE','VERY_BIG_STRING'
100  FORMAT (2A8)
provoque l'écriture de : LITTLE__VERY_BIG


Next Previous Contents