2010-10-07 3 views
1

Salut Je développe un composant COM dans un projet ATL. Je veux utiliser std :: ostringstream pour enregistrer une trace par log4cxx. Malheureusement, ATL ne supporte pas std :: ostringstream et ses dérivés. Est-ce que quelqu'un d'entre vous a une idée de comment utiliser des classes de streaming dans un projet ATL ou de toute autre manière? Merci.Puis-je utiliser des structures de streaming dans ATL?

Répondre

1

effectivement j'ai trouvé mon erreur. C'était un fichier d'en-tête manquant.

#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; 

} 
+0

Wow. Que se passe-t-il s'il y a un BSTR nul là-bas? Que se passe-t-il si le type de variante n'est pas VT_BSTR? – sharptooth

+0

Oui, vous avez raison, mais ils sont vérifiés avant la main, c'est juste un extrait de code. THX – tguclu

Questions connexes