Bonjour,
J'ai un fichier qui contient ceci:
vert 0 ( 29.605044 13.305720 ) 0 1
vert 1 ( -24.200173 13.305725 ) 1 1
Je fait une lecture ligne par ligne et pour récupérer les données, je fait ceci:
int ret = sscanf(buff, " vert %d ( %f %f ) %d %d", &vertIndex, &fdata[0], &fdata[1], &idata[0], &idata[1]);
Sur windows, ça fonctionne parfaitement, ret contient bien la valeur 5.
Par contre sur Linux, ret vaut 2 et non 5.
Après avoir passé 1h à traquer cette erreur, j'ai compris que le sscanf ne lisait pas bien les float.
Un heure encore après, j'ai remplacer les "." par des "," dans mon fichier et la miracle : ça fonctionne !
Y-aurait-il une version de sscanf pour l'europe et une pour l'amérique ?!!!!!!!
Si oui, comment sélectionner le sscanf américain ?
Merci...
Partager