40 const std::moneypunct<char, false> &mp =
41 std::use_facet<std::moneypunct<char, false> >(std::locale::classic ());
43 const std::lconv*
const lc = std::localeconv ();
54 std::cout <<
"Punctuator C++ C99\n";
56 std::cout <<
"Decimal point = '"
57 << mp.decimal_point () <<
"' \""
58 << lc->decimal_point <<
'"';
60 std::cout <<
"\nThousands separator = '"
61 << mp.thousands_sep () <<
"' \""
62 << lc->thousands_sep <<
'"';
64 std::cout <<
"\nCurrency symbol = \""
65 << mp.curr_symbol () <<
"\" \""
66 << lc->currency_symbol <<
'"';
68 std::cout <<
"\nNegative Sign = \""
69 << mp.negative_sign () <<
"\" \""
70 << lc->negative_sign <<
'"';
72 std::cout <<
"\nPositive Sign = \""
73 << mp.positive_sign () <<
"\" \""
74 << lc->positive_sign <<
'"';
76 std::cout <<
"\nDigits after decimal = "
77 << mp.frac_digits () <<
" ";
85 std::cout <<
"CHAR_MAX";
93 std::cout << int (lc->frac_digits)
94 <<
" (libc bug: expected CHAR_MAX, i.e., "
95 << unsigned ((
unsigned char)
CHAR_MAX)
99 std::cout << std::endl;