1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| #include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main (void)
{
double var;
char chaine[] = "166.35";
char chaine2[] = "166,35";
/* sans setlocale() ===================================================== */
puts("sans setlocale()");
printf("%s avec strtod() : %g\n",
chaine, strtod(chaine, NULL));
printf("%s avec strtod() : %g\n",
chaine2, strtod(chaine2, NULL));
sscanf(chaine, "%lg", &var);
printf("%s avec sscanf() : %g\n", chaine, var);
sscanf(chaine2, "%lg", &var);
printf("%s avec sscanf() : %g\n", chaine2, var);
/* sans setlocale() ===================================================== */
setlocale(LC_ALL, "");/* on prend en compte les spécificités locales */
puts("avec setlocale()");
printf("%s avec strtod() : %g\n",
chaine, strtod(chaine, NULL));
printf("%s avec strtod() : %g\n",
chaine2, strtod(chaine2, NULL));
sscanf(chaine, "%lg", &var);
printf("%s avec sscanf() : %g\n", chaine, var);
sscanf(chaine2, "%lg", &var);
printf("%s avec sscanf() : %g\n", chaine2, var);
getchar();
return EXIT_SUCCESS;
} |
Partager