C++ IOS Library - imbue



Description

Associates loc to both the stream and its associated stream buffer (if any) as the new locale object to be used with locale-sensitive operations.

This function calls its inherited homonym ios_base::imbue(loc) and, if the stream is associated with a stream buffer, it also calls rdbuf()->pubimbue(loc).

Declaration

Following is the declaration for ios::imbue function.

locale imbue (const locale& loc);

Parameters

loc − Locale object to be imbued as the new locale for the stream.

Return Value

The locale object associated with the stream before the call.

Exceptions

Basic guarantee − if an exception is thrown, the stream is in a valid state.

Data races

Modifies the stream object.

Concurrent access to the same stream object may cause data races.

Example

In below example explains about ios::imbue function.

#include <iostream>     
#include <locale>       

int main() {
   std::locale mylocale("");   
   std::cout.imbue(mylocale);  
   std::cout << 3.14159 << '\n';
   return 0;
}

Let us compile and run the above program, this will produce the following result −

3.14159
ios.htm
Advertisements