我有一个接受basic_ostream作为参数的方法
write_sth_to( basic_ostream<unsigned char> &s );
有什么办法可以将std :: cout(或任何basic_ostream <char>)传递给它?谢谢。
如果您是我,我会编写一个包装函数来处理它,因为您不能简单地将a强制转换basic_ostream<char>
为a basic_ostream<unsigned char>
。像下面这样的东西可能会解决问题(注意:未经测试的代码)
void wrapper(basic_ostream<char>& os)
{
basic_stringstream<unsigned char> us;
write_sth_to(us);
transform(istream_iterator<unsigned char>(us),
istream_iterator<unsigned char>(),
ostream_iterator<char>(os, ""),
char_to_unsigned_char
);
}
函数char_to_unsigned_char
是您自己编写的(我不知道您打算如何在两种类型之间进行转换)。记住这一点未经测试,但是它可能会让您对从何开始有所了解。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句