我工作在一个C++字符串库,它具有处理ASCII,UTF8,UTF16,UTF32字符串的主要4类,每个类都有打印函数,用于格式化输入字符串并将结果输出到stdout或stderr 。我的问题是我不知道什么是这些流的默认字符编码。stdout和stderr字符编码
现在我的课程在Windows中工作,后来我会添加对mac和linux的支持,所以如果你知道关于这些流编码的任何事情,我将不胜感激。
所以我的问题是:stdout和stderr的默认编码是什么,我可以稍后更改该编码,如果是的话,那么存储在那里的数据会发生什么?
谢谢。
所以你的意思是标准流使用当前的系统区域设置?我认为取决于你说我的类应该检测系统使用的当前代码页,并取决于它写入字符串数据。 如果编码改变,流数据会发生什么? – 2010-05-18 14:16:03