C#:
char z = '\u201D';
int i = (int)z;
C++/CLI:
wchar_t z = '\u201D';
int i = (int)z;
En C# "i
" devient, comme je le suppose, 8221 ($ 201D). En C++/CLI, il devient 65428 ($ FF94). Une âme aimable peut-elle m'expliquer cela?Les littéraux de chaîne Unicode en C# vs C++/CLI
EDIT: Taille de wchar_t
ne peut pas être de problème ici, parce que:
C++/CLI:
wchar_t z = (wchar_t)8221;
int i = (int)z;
Ici aussi, i
devient 8221, donc wchar_t
est en effet jusqu'au jeu de tenir un entier sur 16 bits mon système. Ekeforshus
Votre deuxième exemple ne prouve pas que la taille n'est pas un problème -> z dans le deuxième exemple == z dans le premier exemple? –