std::basic_ios::imbue

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

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

目录

[编辑] 参数

loc - 新的 locale

[编辑] 返回值

先前的 locale ,以 ios_base::imbue(loc) 返回。

[编辑] 异常

(无)

[编辑] 参数

#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