Bonjour,
je dois reprendre un code codé par d'autre personnes.
Dans ce code il y a les lignes suivantes:
Et cela fonctionne sur mon ordinateur avec mon compilateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 OPEN(400,FILE= f, status = 'old', iostat = ierr,err = 282) READ(400, '(A)', iostat = ierr, err = 1130, end = 282) cbuf READ(400, '(A)', iostat = ierr, err = 1130, end = 282) cbuf WRITE(*, '(A)') cbuf READ(cbuf, 281, iostat = ierr, err = 1130, end = 282) + mm, x, y, qob, qww, hbron, diameter, szopp, ibtg, ibroncat, + iland, namcomp GOTO 282 281 FORMAT(i4, 2f8.0, e10.3, f7.3, f6.1, f7.0, f6.1, 3i4, 2X, a) 1130 CONTINUE ! file error WRITE(*, '(/, A)') 'I/0 ERROR.' 282 end
Pour les besoins de mon projet d'étude je dois l'envoyer à un autre developpeur, dans un autre laboratoire.
Le code ne fonctionne alors pas chez lui, il obtiens l'erreur suivante:
'I/0 ERROR.'
Qui correspond à l'erreur de récupération des données (j'en suis certaine car l'affichage de cbuf se fait).
Si je regarde cbuf il a la forme suivante:
1,100013,400088,0.000E+00,0.0,0.0,0.0,0.0,0,81,1,0,NH3
J'ai donc du mal à comprendre comment mon executable arrive à le lire cela ne correspond pas du tout au format...
Pourtant il récupère quand même les bonnes données en découpant cbuf selon les ','
Je pense donc que chez moi les ',' sont regardés en priorités avant les formats et que ce n'est pas le cas chez mon collègue.
Est-ce que j'ai bien deviné ou bien est-ce que le problème vient d'autre chose?
Et si l'hypothèse est vrai comment alors faire en sorte que chez mon collègue le découpage se fasse en priorités sur les virgules?
Je rapelle que j'ai un niveau débutant en F77 et que le code n'est pas de moi.
Merci.
Partager