|
auteur : Germain Salvato-Vallverdu |
Une chaîne de caractères se note entre guillemets simples ou doubles. On affecte une valeur à une chaîne
de caractères avec le signe = comme pour les autres types de variables.
Exemple de chaîne de caractères | character (len =20)::chaine
chaine = " une chaine de caractère "
|
Une chaîne de caractères a une certaine longueur, donnée lors de sa déclaration (le paramètre len). Elle ne peut pas
contenir plus de caractères que le nombre indiqué lors de sa déclaration. Si la chaîne de caracères que l'on veut
enregistrer dans une variable est plus longue que la longueur de la variable, seuls les premiers caractères sont
enregistrés. Si la chaîne de caractères que l'on veut enregistrer dans une variable est plus courte que la longueur
de la variable les caractères manquants sont complétés par des espaces (peut dépendre du compilateur).
Exemples | character (len =4)::courte
character (len =20)::longue
courte = " bonjour "
longue = " bonjour "
|
|
|
auteur : Germain Salvato-Vallverdu |
On utilise la fonction len qui renvoie un entier dont la valeur est la longueur de la chaine.
Utilisation de len | character (len =100)::mot
integer ::long
long = len (mot)
mot = " bonjour "
long = len ( trim( mot ) )
|
|
|
auteur : Germain Salvato-Vallverdu |
La fonction index(chaine1,chaine2) renvoit un entier dont la valeur est égale à la position du premier caractère
de chaine2 dans chaine1. Si chaine2 n'est pas présente dans chaine1 elle renvoit 0.
Cette fonction peut être très utile par exemple pour repérer une ligne dans un fichier où est inscrit un repère.
Exemple d'utilisation de index | ...
character (len =100)::ligne
integer ::k
open (10,file=" resultats " ,action=" read " )
Do
ligne = " "
read (10," (a) " )ligne
k = index ( ligne , " repere " )
If ( k /= 0 ) exit
Enddo
...
|
|
|
auteur : Germain Salvato-Vallverdu |
Les commandes read et write permettent de lire ou écrire dans une chaîne de caractères. Il
suffit d'inscrire le nom de la chaîne de caractères dans source de lecture ou la destination d'écriture.
Exemple de lecture ou écriture dans une chaîne de caractère |
integer ::k
character (len =4)::num
k=1234
write (num," (i4) " )k
character (len =100)::ligne
character (len =4)::var
read (ligne,*)var,entier
|
L'écriture dans une variable chaîne de caractères par rapport à une simple affectation présente l'intérêt que
l'on peut choisir le format dans lequel on écrit.
|
|
auteur : Germain Salvato-Vallverdu |
On utilise la fonction trim qui renvoie une chaîne de caractères dans laquelle une chaîne de caractères dans laquelle les espaces à
la fin de la chaîne ont été supprimés.
Exemple d'utilisation de la fonction trim | character (len =10)::chaine
chaine = " bonjour "
write (*,*)chaine," XX "
write (*,*)trim(chaine)," XX "
|
Attention, Fortran complète les automatiquement les chaînes de caractères par des espaces, donc si on remplace
le contenu d'une variable chaîne de caractère par son contenu en ayant supprimé les espaces ils sont rajoutés
automatiquement pour compléter la longueur de la variable chaîne de caractères.
Attention à la longueur des chaînes |
character (len =10)::chaine
character (len =7)::courte
chaine = " bonjour "
chaine = trim(chaine)
courte = trim(chaine)
|
La fonction trim est très utile pour écrire des noms de fichier dans une variable chaîne de caractères
car elle permet d'avoir des noms de fichiers sans espaces.
|
Consultez les autres F.A.Q's
Copyright © 2008 developpez Developpez LLC.
Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite
de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans
de prison et jusqu'à 300 000 € de dommages et intérêts.