Les textes sont stockés dans des chaînes de caractères. Dans ce chapitre, nous donnons quelques moyens de les manipuler.
Elles sont constituées par une série de caractères encadrés par des apostrophes (ou « simple quotes » en anglais). Exemples :
'Ceci est une chaîne'
|
Syntaxe de déclaration :
|
où n représente la longueur de la chaîne. Cette déclaration réserve n octets en mémoire pour y stocker n caractères.
Exemples :
character*15 nom
|
On peut ensuite affecter ces variables avec l'opérateur =
comme pour
toute autre variable :
nomfichier='/usr/local/public/louisnar/th.mai'
|
Comme la chaîne 'Louisnard'
ne contient que 9 caractères,
les 6 derniers caractères de nom
sont affectés avec le
caractère blanc. Si on affecte une variable chaîne de 15 caractères
avec une chaîne de 16 caractères, il y aura une erreur d'exécution.
LEN(chaine)
renvoie la longueur en mémoire de chaîne
.
Attention : avec l'exemple précédent, len(nom)
renvoie 15
(et pas 9 !) puisque la variable nom
a été définie comme une chaîne
de 15 caractères.
INDEX(chaine1, chaine2)
renvoie la position de la chaine
chaine2
dans la chaine chaine1
.
Par exemple (toujours à partir de l'exemple précédent),
index(nom,'nar')
renvoie 6.
chaine(m:n)
est la sous-chaîne allant du mième ou nième
caractère de chaine
. m
et n
peuvent être
des constantes ou des variables entières.
La concaténation permet de coller deux chaînes bout à bout. En FORTRAN, cet
opérateur se note //
.
Par exemple :
'Bon'//'jour' |
représente la chaîne suivante :
'Bonjour' |
Attention (toujours avec l'exemple précédent) :
nom //'est mon nom' |
représente la chaîne suivante :
'Louisnard
est
mon
nom'
|