std::basic_ios::imbue - std::basic_ios::imbue
std::locale imbue( const std::locale& loc );
Replaces the current locale. Effectively calls ios_base::imbue(loc) and if
there is
an associated stream buffer (rdbuf() != 0), then calls
rdbuf()->pubimbue(loc).
The previous locale, as returned by ios_base::imbue(loc).
May throw implementation-defined exceptions.
// Run this code
#include <iostream>
#include <sstream>
#include <locale>
int main()
{
std::istringstream iss;
iss.imbue(std::locale("en_US.UTF8"));
std::cout << "Current locale: " << iss.getloc().name()
<< '\n';
iss.imbue(std::locale());
std::cout << "Global locale : " << iss.getloc().name()
<< '\n';
}
Current locale: en_US.UTF8
Global locale : C