Question

Bonjour, je migrerais le projet de Visual Studio 6.0 à Visual Studio 2005.

Le problème auquel je suis confronté est ce ... dans vs 6.0 wchar_t était simplement en typède de unsigned short Mais dans VS2005 wchar_t est construit en type de données.

Dans le projet, les programmeurs précédents ont utilisé WCHAR_T et un signé à court terme intesté. Mais dans vs 2005, il montrant des erreurs comme ne peut pas se convertir wchar_t à unsigned short et vice versa.

Donc ma question est de pouvoir lancer en toute sécurité wchar_t à unsigned short Et vice versa ou nous avons besoin de fonctions d'utilisation comme les mbstowcs et les wcstombs?

Était-ce utile?

La solution

Vous pouvez utiliser la boîte de dialogue des paramètres du projet / ZC: WCHAR_T- (ou son équivalent dans la boîte de dialogue des paramètres du projet) pour désactiver la fonction WCHAR_T-AS-NATIF de type natif dans VS 2005:

http://msdn.microsoft.com/en-us/library/dh8che7s%28v=vs.80%29.aspx

Autres conseils

Changer l'option Traitez WCHAR_T comme un type natif pour No a fonctionné pour moi :). VC ++ 2010 Express.

Vous irez probablement bien mais, si c'était moi, je ferais une recherche et remplacerais et changerais des références en caractères Unicode pour wchar_t. Pour commencer, vous pourriez simplement faire fonctionner votre code avec de futures modifications des bibliothèques. Cela rendrait également votre code plus facile à lire.

À moins que je ne manque quelque chose, mbstowcs et wcstombs n'ont rien à voir avec ça. Ils sont pour convertir entre Unicode et multiple. Il semble que toutes vos affaires sont Unicode.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top