passage de unix à windows pour une fonction
Bonjour à tous !
J'ai un programme qui doit lire une table dans un fichier du type :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Amount of points : 102
Calibration data :
-------------------
Digital Level Temperature
DL °C
584 -273
588 20
592 40
599 60
610 80
627 100
652 120
685 140
730 160
789 180
863 200
954 220
1064 240
1196 260
1350 280
1528 300 |
C'est un collègue qui faisait tourner ce programme sous unix.
J'ai identifié le problème, et je subodore qu'il vient du code mis en rouge:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
while ( (sscanf(&FileLUTStockMem[i], "%s\t%s", str1, str2) == 2) && ( i < TailleFichier-1 ) )
{
*pxLUT = atol (str1);
*pyLUT = atol (str2);
printf("\n");
printf("%03i:%07i->%04i ", j, (int)*pxLUT, (int)*pyLUT);
pxLUT++;
pyLUT++;
j++;
// Recherche le retour chariot suivant.
while (FileLUTStockMem[i++] != 0x0D && ( i < TailleFichier-1 ) );
str1[0]='\0';
str2[0]='\0';
}
|
En effet, au débogage, i passe de 450 à 1800. Résultat: seule ma première ligne est lue, le reste, c'est du n'importe quoi!
Comment indiquer un retour de chariot ?
Merci à vous ! ;)