std::basic_ios<CharT,Traits>::imbue

来自cppreference.com
< cpp‎ | io‎ | basic ios
 
 
 
 
std::locale imbue( const std::locale& loc );

替换当前本地环境。相当于调用 ios_base::imbue(loc),而若有关联流缓冲(rdbuf() != 0),则再调用 rdbuf()->pubimbue(loc)

参数

loc - 新的本地环境

返回值

先前的本地环境,以 ios_base::imbue(loc) 返回。

异常

可能会抛出由实现定义的异常。

参数

#include <iostream>
#include <locale>
#include <sstream>
 
int main()
{
    std::istringstream iss;
    iss.imbue(std::locale("en_US.UTF8"));
 
    std::cout << "当前本地环境: " << iss.getloc().name() << '\n';
 
    iss.imbue(std::locale());
    std::cout << "全局本地环境: " << iss.getloc().name() << '\n';
}

输出:

当前本地环境: en_US.UTF8
全局本地环境: C