C++ 在cout.rdbuf(fout.rdbuf())之后,哪个区域设置将应用于cout? #包括 #包括 #包括 使用名称空间std; int main() { 流fout(“test.txt”); fout.imbue(地区(“chs”); 法庭灌输(语言环境(“C”); cout.rdbuf(fout.rdbuf()); 不能
C++ 在cout.rdbuf(fout.rdbuf())之后,哪个区域设置将应用于cout? #包括 #包括 #包括 使用名称空间std; int main() { 流fout(“test.txt”); fout.imbue(地区(“chs”); 法庭灌输(语言环境(“C”); cout.rdbuf(fout.rdbuf()); 不能,c++,unicode,internationalization,locale,iostream,C++,Unicode,Internationalization,Locale,Iostream,std::ios::imbue locale-imbue(const-locale&loc); 融入当地环境 将loc关联到流及其关联的流缓冲区(如果 any)作为要与区域设置敏感一起使用的新区域设置对象 行动 使用寄存器注册的所有回调函数 调用imbue_事件作为其第一个参数 事实上,这个成员函数调用其继承的同音词 ios_base::imbue(loc),以及流是否与流关联 缓冲区,也调用rdbuf()->pubimbue(loc)。 另外,请参见 27.4.4区域设置和iostream的协
std::ios::imbue
locale-imbue(const-locale&loc);
融入当地环境
将loc关联到流及其关联的流缓冲区(如果
any)作为要与区域设置敏感一起使用的新区域设置对象
行动
使用寄存器注册的所有回调函数
调用imbue_事件作为其第一个参数
事实上,这个成员函数调用其继承的同音词
ios_base::imbue(loc),以及流是否与流关联
缓冲区,也调用rdbuf()->pubimbue(loc)。
另外,请参见
27.4.4区域设置和iostream的协作
基类ios_base包含一个locale对象。格式和
由派生流类定义的解析函数使用
该区域设置的数字方面。
类模板basic_ios包含一个指向流缓冲区的指针。
这个流缓冲区也有一个locale对象,通常是
流类函数使用的相同区域设置对象。
流缓冲区的输入和输出函数使用代码转换
附加区域设置的方面。
在您的情况下,它将使用“C”数字区域设置和“chs”字符区域设置。heh,我将您的尼克读为“xilinx”:)
#include <locale>
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
ofstream fout("test.txt");
fout.imbue(locale("chs"));
cout.imbue(locale("C"));
cout.rdbuf(fout.rdbuf());
cout << "中文"; // Which locale will apply to here? "C" or "chs"?
}