• [^] # Re: info

    Posté par . En réponse au message [Résolu] Problème de séparateur décimal. Évalué à 0.

    Non, la locale par défaut qui est sensée être utilisée par un programme en C est la locale "C".
    Source : http://www.cplusplus.com/reference/clocale/

    The "C" locale is the minimal locale. It is a rather neutral locale which has the same settings across all systems and compilers, and therefore the exact results of a program using this locale are predictable. This is the locale used by default on all C programs.

    J'ai testé sur deux autres machines (Debian stable et testing), toutes les deux configurées avec du fr_FR.UTF-8 comme locale, et le comportement celui que j'ai toujours vu : c'est le point qui est utilisé comme séparateur décimal.

    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    int main(int argc, char** argv)
    {
     float v;
     char *l;
     if(argc == 1) {
     printf("Usage: %s 3.14\n", argv[0]);
     return -1;
     }
     /* Get the name of the current locale. */
     l = setlocale (LC_NUMERIC, NULL);
     printf("Locale used: %s\n", l);
     v = strtof(argv[1], 0);
     printf("The first argument is: %f\n", v);
     return 0;
    }