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>intmain(intargc,char**argv){floatv;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);return0;}
[^] # Re: info
Posté par cfx . 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/
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.