如何将ostream强制转换为basic_ostream <unsigned char>?

用户名

我有一个接受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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将unsigned int转换为unsigned char数组

来自分类Dev

如何将 const char* 转换为 const unsigned char*

来自分类Dev

从`int`转换为`unsigned char`

来自分类Dev

将 void (*)() 转换为 void (*)(unsigned char)

来自分类Dev

如何在C中将unsigned char *转换为unsigned int *?

来自分类Dev

如何将未签名的char []转换为std :: vector <unsigned char>

来自分类Dev

如何将const unsigned char数组中的元素转换为char

来自分类Dev

如何将char *缓冲区转换为unsigned char缓冲区

来自分类Dev

无效的转换const unsigned char

来自分类Dev

我可以将unsigned char *强制转换为unsigned int *吗?

来自分类Dev

从'const char *'到'unsigned char *'的无效转换

来自分类Dev

将“ unsigned char *”转换为“ char *”(和字符串)

来自分类Dev

将basic_string <unsigned char>转换为basic_string <char>,反之亦然

来自分类Dev

在C中将char转换为unsigned short

来自分类Dev

将unsigned int拆分为unsigned char []时出错

来自分类Dev

错误:无法将std :: ostream左值绑定到std :: basic_ostream <char> &&

来自分类Dev

将QByteArray转换为std :: vector <unsigned char>

来自分类Dev

将Const char *转换为Unsigned long int-strtoul

来自分类Dev

将vector <unsigned long>转换为char缓冲区[]

来自分类Dev

将char [2]转换为unsigned short时出错?

来自分类Dev

将float *或其他指针转换为unsigned char *

来自分类Dev

将ATL :: CString转换为std :: vector <unsigned char>

来自分类Dev

std :: vector:无法将'std :: ostream {aka std :: basic_ostream <char>}'左值绑定到'std :: basic_ostream <char> &&'

来自分类Dev

C ++从'char *'到'const unsigned char *'的无效转换

来自分类Dev

错误:从'unsigned char *'到'constsigned char *'的无效转换

来自分类Dev

Qt:将QPixmap保存到std :: vector <unsigned char>-或将QByteArray转换为std :: vector <unsigned char>

来自分类Dev

C:指针类型之间的非法转换:指向const unsigned char的指针->指向unsigned char的指针

来自分类Dev

在C ++中将向量<unsigned char>转换为HBITMAP

来自分类Dev

将带符号的char转换为C中的unsigned int

Related 相关文章

  1. 1

    如何将unsigned int转换为unsigned char数组

  2. 2

    如何将 const char* 转换为 const unsigned char*

  3. 3

    从`int`转换为`unsigned char`

  4. 4

    将 void (*)() 转换为 void (*)(unsigned char)

  5. 5

    如何在C中将unsigned char *转换为unsigned int *?

  6. 6

    如何将未签名的char []转换为std :: vector <unsigned char>

  7. 7

    如何将const unsigned char数组中的元素转换为char

  8. 8

    如何将char *缓冲区转换为unsigned char缓冲区

  9. 9

    无效的转换const unsigned char

  10. 10

    我可以将unsigned char *强制转换为unsigned int *吗?

  11. 11

    从'const char *'到'unsigned char *'的无效转换

  12. 12

    将“ unsigned char *”转换为“ char *”(和字符串)

  13. 13

    将basic_string <unsigned char>转换为basic_string <char>,反之亦然

  14. 14

    在C中将char转换为unsigned short

  15. 15

    将unsigned int拆分为unsigned char []时出错

  16. 16

    错误:无法将std :: ostream左值绑定到std :: basic_ostream <char> &&

  17. 17

    将QByteArray转换为std :: vector <unsigned char>

  18. 18

    将Const char *转换为Unsigned long int-strtoul

  19. 19

    将vector <unsigned long>转换为char缓冲区[]

  20. 20

    将char [2]转换为unsigned short时出错?

  21. 21

    将float *或其他指针转换为unsigned char *

  22. 22

    将ATL :: CString转换为std :: vector <unsigned char>

  23. 23

    std :: vector:无法将'std :: ostream {aka std :: basic_ostream <char>}'左值绑定到'std :: basic_ostream <char> &&'

  24. 24

    C ++从'char *'到'const unsigned char *'的无效转换

  25. 25

    错误:从'unsigned char *'到'constsigned char *'的无效转换

  26. 26

    Qt:将QPixmap保存到std :: vector <unsigned char>-或将QByteArray转换为std :: vector <unsigned char>

  27. 27

    C:指针类型之间的非法转换:指向const unsigned char的指针->指向unsigned char的指针

  28. 28

    在C ++中将向量<unsigned char>转换为HBITMAP

  29. 29

    将带符号的char转换为C中的unsigned int

热门标签

归档