V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
icemanpro
V2EX  ›  C++

c++中, char* 如何转换成 std::shared_ptr<std::iostream>?

  •  
  •   icemanpro · 2021-07-21 13:46:34 +08:00 · 1703 次点击
    这是一个创建于 1207 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用 aliyun 的 oss sdk 上传 buff 内容,aliyun 用的是智能指针。
    5 条回复    2021-07-22 08:36:02 +08:00
    ipwx
        1
    ipwx  
       2021-07-21 14:56:08 +08:00
    这里的问题不在于智能指针啊大哥。char* 和 std::iostream 八竿子打不上边

    你大概需要一个 std::istringstream 或者 std::ostringstream
    jmc891205
        2
    jmc891205  
       2021-07-21 15:16:13 +08:00
    你应该是想要用“<<"把 char*往 stream 里 insert 吧
    l00t
        3
    l00t  
       2021-07-21 15:19:09 +08:00
    智能指针 std::make_shared<std::iostream>(xxxxxxxxx)
    char* 到 iostream, 你可以找一下网上常见的那个从 char* => streambuf => istream 的转换方法,或许能用。
    然后拼起来,试试。
    nannanziyu
        4
    nannanziyu  
       2021-07-21 15:24:12 +08:00
    std::shared_ptr<std::iostream> iosp = std::make_shared<std::stringstream>("you chars");
    byaiu
        5
    byaiu  
       2021-07-22 08:36:02 +08:00 via iPhone
    这 sdk 是 header only 的吗?居然用智能指针做接口?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1146 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:50 · PVG 07:50 · LAX 15:50 · JFK 18:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.