C++ IOS 库 - imbue


描述

将 loc 与流及其关联的流缓冲区(如果有)关联,作为要与区域设置敏感的操作一起使用的新区域设置对象。

该函数调用其继承的同音字 ios_base::imbue(loc),如果流与流缓冲区关联,它还会调用 rdbuf()->pubimbue(loc)。

宣言

以下是 ios::imbue 函数的声明。

locale imbue (const locale& loc);

参数

loc - 将作为流的新语言环境注入的语言环境对象。

返回值

调用前与流关联的区域设置对象。

例外情况

基本保证- 如果抛出异常,则流处于有效状态。

数据竞赛

修改流对象。

对同一流对象的并发访问可能会导致数据争用。

例子

下面的例子解释了 ios::imbue 函数。

#include <iostream>     
#include <locale>       

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

让我们编译并运行上面的程序,这将产生以下结果 -

3.14159
ios.htm