38#if defined (__FreeBSD__) || defined (__osf__)
40const char en_US[] =
"en_US.ISO8859-1";
43const char en_US[] =
"en_US.iso88591";
46const char en_US[] =
"English";
53int main (
int argc,
char *argv[])
56 const char*
const buffer = 1 < argc ? argv [1] :
"$1,234.6789";
57 const char*
const locname = 2 < argc ? argv [2] :
en_US;
58 const bool intl = 3 < argc;
61 long double fmon = 0.0;
63 std::ios_base::iostate state = std::ios_base::goodbit;
66 const std::locale
loc (locname);
68 typedef std::istreambuf_iterator<char>
Iter;
69 typedef std::money_get<char, Iter>
MoneyGet;
71 const MoneyGet &mgf = std::use_facet<MoneyGet>(
loc);
76 std::istringstream ins (
buffer);
80 mgf.get (ins,
Iter (), intl, ins, state, smon);
83 std::istringstream ins (
buffer);
87 mgf.get (ins,
Iter (), intl, ins, state, fmon);
92 std::cout <<
buffer <<
" --> \"" << smon <<
"\" --> " << fmon <<
'\n';
95 return !(std::ios_base::eofbit == state);
std::ostream_iterator< int, char, std::char_traits< char > > Iter