littéraux de chaîne unicode en C ++ / CLI
-
27-09-2019 - |
Question
Disons que je ce fragment de code qui renvoie une chaîne CLR unicode avec des lettres cyrilliques
property String^ EIDErrorDescriptionSr {
String^ get()
{
switch(EIDErrorCode)
{
case EID_OK: return "Операција успешно завршена";
...
Quand je lis la propriété dans le code C # faisant référence à cette assemblée, je reçois un tas de « ? » comme si le compilateur C ++ « aplati » la chaîne de caractères à un octet.
J'ai sauvé le fichier source C ++ au format UTF-8 (Unicode même) et je reçois toujours cet avertissement du compilateur pour tous les non-ansi caractère:
avertissement C4566: caractère représenté par nom caractère universel « \ u041E » ne peut pas être représenté dans le courant page de code (1252)
Maintenant, est-il un commutateur de compilateur compilateur force littéraux traiter comme unicode? Je ne peux pas sembler trouver un.
La solution
Essayez une chaîne Unicode littérale:. L"..."