comment faire pour convertir de LPWSTR à 'const char*'

Après l'obtention d'un struct en C# C++ à l'aide de C++/CLI:

public value struct SampleObject
{   
    LPWSTR a;    
};

Je veux imprimer son exemple:

printf(sampleObject->a);

mais j'ai eu cette erreur:

Erreur 1 error C2664: 'printf' : impossible de convertir le paramètre 1 de
'LPWSTR' à 'const char *'

Comment puis-je convertir de LPWSTR to char*?

Merci à l'avance.

Tu ne peux pas faire: printf((const char*)sampleObject->a);
super! pourquoi ne pas vous répondre à la place, alors je vais le marquer comme réponse! 😀
Il n'est pas susceptible de travailler... Cela ne peut pas convertir les données, il suffit d'indiquer au compilateur de ne pas s'inquiéter du fait que c'est le mauvais type de données.
vous êtes de droite. il l'habitude de travailler. J'ai eu une exception pour cette conversion. une idée?
En C++/CLI, vous pouvez simplement utiliser marshal_as pour convertir directement System::String^ à char*, pas besoin de passer par LPWSTR le long du chemin.

OriginalL'auteur olidev | 2012-03-23