C++ streambuf::pubimbue() 函数



C++ 的std::streambuf::pubimbue()函数用于为流缓冲区设置新的区域设置。当调用此函数时,它会用作为参数提供的新的区域设置替换流缓冲区的当前区域设置。

此函数主要由流(例如 std::istream 或 std::ostream)用于管理与区域设置相关的操作,例如数字或日期的格式化。

语法

以下是 std::streambuf::pubimbue() 函数的语法。

locale pubimbue(const locale& _Loc);

参数

  • loc - 表示区域设置的引用。

返回值

此函数返回存储在区域设置对象中的先前值。

异常

如果抛出异常,则流缓冲区处于有效状态。

数据竞争

它修改流缓冲区对象。

示例 1

在以下示例中,我们将考虑 pubimbue() 函数的基本用法。

#include <iostream>
#include <sstream>
#include <locale>
int main() {
   std::ostringstream a;
   std::locale b("");
   a.rdbuf() -> pubimbue(b);
   a << 11128932.342;
   std::cout << "Result : " << a.str() << std::endl;
   return 0;
}

输出

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

Result : 1.11289e+07
streambuf.htm
广告