我正在尝试将我自己的codecvt
与标准 iostream 一起使用。我正在使用这条线:
std::cout.imbue(std::locale(std::locale("C"), new rot13codecvt()));
rot13codecvt
只是一个例子,无耻地从互联网上逐字 删除。一个完整的可运行示例在这里。我真正的 codecvt 做了一些不同的事情。
正如您在链接的实时示例中看到的那样,这在 g++中不太适用。输出不是 rot13d。从未调用自定义 codecvt 类中的函数。但它在 VS2012 中运行良好。
我已经尝试过“C”之外的其他语言环境,但没有一个有效。还尝试了一个例子here,同样的结果。
我究竟做错了什么?