【问题标题】:Can I use streaming structures in ATL?我可以在 ATL 中使用流式结构吗?
【发布时间】:2010-10-08 14:39:30
【问题描述】:

嗨 我正在 ATL 项目中开发 COM 组件。 我想使用 std::ostringstream 通过 log4cxx 记录一些跟踪。 不幸的是,ATL 似乎不支持 std::ostringstream 和衍生物。 你们中有人知道如何在 ATL 项目中使用流类或任何替代方式吗? 谢谢。

【问题讨论】:

    标签: atl


    【解决方案1】:

    其实我发现了我的错误。这是一个缺少的头文件。

    #include "stdafx.h"
    #include <sstream>
    #include "util.h"
    #include <comutil.h>
    
    std::ostringstream pvarObject_t2string(VARIANT const *pvarObject)
    {
    
        std::ostringstream str;
        str<<"test";
        str<<"Licence id:   "<< pvarObject[ 0 ].bstrVal;
        return str;
    
    }
    

    【讨论】:

    • 哇。如果那里有一个空的 BSTR 会发生什么?如果变体类型不是 VT_BSTR 会怎样?
    • 是的,你是对的,但他们事先经过检查,这只是一个代码 sn-p。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-22
    • 2020-11-25
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多