Longueur de chaine dans un format... Help plz [Fortran 90] - Divers - Programmation
Marsh Posté le 28-10-2003 à 15:35:32
Vieux souvenir le Fortran...
Si pas de solution, faudrait avoir autant de formats que de cas
,"au",1x,I2,1x,A7,1X,I4)'
,"au",1x,I2,1x,A8,1X,I4)'
,"au",1x,I2,1x,A9,1X,I4)'
et faire branchement selon
ou essayer, sais pas si ça marcherait, comme en C, faire une chaîne format
sprintf(szChne, "%f bidule %u", ...);
on peut le remplacer par
sprintf(szChne, szChneFormat, ...); avec szChneFormat une chaîne de caractères qui contiendrait ici {"%f bidule %u"}.
Si la fonction l'admet, c'est gagné.
NB : des champs alignés (pour le mois), c'est pas mal non plus, ça fait "ancienne mode".
Marsh Posté le 28-10-2003 à 17:15:15
CARBON_14 a écrit : Vieux souvenir le Fortran... |
Bon j'avais bien pensé à la première solution mais bon elle est un peu lourd qd même...
Pour la deuxième je ne comprend pas vriament bien ce que tu veux faire (faut m'escuser, newbee inside )
Tu veux remplacer le "A10" par exemple par une chaine de caractere qui contiendrais A10 ??
Enfin bon j'ai bien l'impression qu'il ne va pas accepter autre chose que "A puis un entier".
Marsh Posté le 28-10-2003 à 22:58:00
C'est moins souple que le C alors...
S'il n'accepte PAS une chaîne en argument, c'est cuit.... Ca serait souple comme méthode.
En créant une chaîne "A9", il n'en veut pas à la place de A9 dans la définition du format ? On peut rêver....
Mes souvenirs sont vieux, vieux, ...(1978-1980)... Fortran 77 je crois (?) sur PDP7 DIGITAL puis UNIVAC.
EDIT : sinon, y a pas moyen (j'ai oublié) de concaténer chaînes, les fixes et la variable ?
Marsh Posté le 29-10-2003 à 11:39:45
CARBON_14 a écrit : C'est moins souple que le C alors... |
Bien en attendant que j'essaye de comprendre ton histoire de concaténation là voilà comment je me suis débrouillé:
C'est pas forcement bau et court mais bon ca marche.
Le but était de redeclarer des chaines avec la bonne taille, donc j'ai fait la procedure suivante:
Code :
|
Marsh Posté le 29-10-2003 à 12:43:14
C'est la chaîne qui est ajustée, et non le format A qui est paramétré...
Pas mal.
NB : le Fortran a drolement évolué en syntaxe et possibilités. Le mien, on le perforait encore (j'ai gardé des cartes (obsolètes) !).
Marsh Posté le 29-10-2003 à 13:46:03
CARBON_14 a écrit : C'est la chaîne qui est ajustée, et non le format A qui est paramétré... |
Vi apparament c'est un tres vieux langage... Moi je travail sur le 90 mais il existe le 95 et même une version 2000 du langage je crois...
Enfin bon merci pour l'aide
Marsh Posté le 28-10-2003 à 13:38:54
Je veux definir un format d'ecriture. Dans ce format je veux inserer une chaine de caractere dont la taille peut varier...
Je voudrais que l'affichage de la chaine s'adapte à la longueur de celle ci:
print '("Date de stage :",1x,"du",1x,I2,1X,"au",1x,I2,1x,A10,1X,I4)',j1,j2,mois,a
Ici le A10 permet l'écriture d'une chaine de 10 caracteres. Je peux obtenir la longueur de la chaine mais je n'arrive pas à l'integer dans le format...
m = len_trim(mois)
print '("Date de stage :",1x,"du",1x,I2,1X,"au",1x,I2,1x,Am,1X,I4)',j1,j2,mois,a
Ca par exemple ne marche pas..
Help plz