Je veux convertir _variant_t
-CString
, et utiliser ceci:différence se produit lorsque converti _variant_t à CString ou affiché dans (« % s ») en utilisant _variant_t.bstrVal
#define VartToCStr(vart) (_variant_t(vart)).bstrVal
Si je passe la valeur à CString
, il fonctionne bien, mais à CString::Format(_T("%s"))
, il ne fonctionne pas:
CString str = VartToCStr(properties[VL_INFO]);
CString str2;
str2.Format(_T("%s,"), VartToCStr(properties[VL_INFO]));
Résultat:
str: "ES1-SW1-SW3-..."
str2: "E"
Pourquoi?
Ajouté:
(
properties[VL_INFO]
est créé par:
CString str = _T("ES1-SW1-SW3-...");
properties[VL_INFO] = CStrToVart(str);
où:
#define CStrToVart(str) _variant_t(str)
)