------- Comment #19 from tsyvarev at ispras dot ru 2008-12-05 11:08 ------- It seems that C++ standard contains contradiction about thousands separator in "C" locale: 22.2.3.1, p1 says: The instantiations required in Table 51 (22.1.1.1.1), namely numpunct and numpunct, provide classic “C” numeric formats, i.e. they contain information equivalent to that contained in the “C” locale or their wide character counterparts as if obtained by a call to widen. also, 22.2.3.1.2 p.2 says: char_type do_thousands_sep() const; Returns: A character for use as the digit group separator. The required instantiations return ’,’ or L’,’. It appears, that according to C++ standard, thousands separator for "C" locale is ','. But according to the ISO standard of "C"("POSIX") locale (Section 7.3, Locale Definition), thousands separator in this locale should be '\0', which means N/A or not assigned. Or is this reasoning wrong? -- tsyvarev at ispras dot ru changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tsyvarev at ispras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38411