【发布时间】:2015-04-03 20:56:22
【问题描述】:
我正在尝试将我自己的 codecvt 与标准 iostream 一起使用。我正在使用这条线:
std::cout.imbue(std::locale(std::locale("C"), new rot13codecvt()));
rot13codecvt 只是一个例子,从the interwebs 无耻地逐字删除。一个完整的可运行示例是here。我真正的 codecvt 做了一些不同的事情。
正如您在链接的实时示例中看到的那样,这在 g++ 中完全不起作用。输出不是 rot13d。从未调用自定义 codecvt 类中的函数。但它在 VS2012 中运行良好。
我尝试了除“C”之外的其他语言环境,但没有一个有效。还尝试了一个示例here,结果相同。
我做错了什么?
【问题讨论】: