//: C04:Locale.cpp {-g++}{-bor}{-edg} {RunByHand} // Illustrates effects of locales. #include <iostream> #include <locale> using namespace std; int main() { locale def; cout << def.name() << endl; locale current = cout.getloc(); cout << current.name() << endl; float val = 1234.56; cout << val << endl; // Change to French/France cout.imbue(locale("french")); current = cout.getloc(); cout << current.name() << endl; cout << val << endl; cout << "Enter the literal 7890,12: "; cin.imbue(cout.getloc()); cin >> val; cout << val << endl; cout.imbue(def); cout << val << endl; } ///:~
Listado 5.27. C04/Locale.cpp
//: C04:Facets.cpp {-bor}{-g++}{-mwcc}{-edg} #include <iostream> #include <locale> #include <string> using namespace std; int main() { // Change to French/France locale loc("french"); cout.imbue(loc); string currency = use_facet<moneypunct<char> >(loc).curr_symbol(); char point = use_facet<moneypunct<char> >(loc).decimal_point(); cout << "I made " << currency << 12.34 << " today!" << endl; } ///:~
Listado 5.28. C04/Facets.cpp