PDA

Visualizza la versione completa : [C++] Problema caratteri ASCII to UNICODE


robott
10-01-2010, 16:36
Salve, :)

sarei interessato a sapere come posso trasformare un carattere char (in ASCII) in uno UNICODE.
Il problema nasce a cause della "" accentata non visualizzata bene nel prompt di windows.
Spero che passando attraverso lo UNICODE il problema si risolva.


:ciauz:

shodan
10-01-2010, 17:25
Speranza vana. La console utilizza un set di caratteri OEM, non Unicode, quindi i caratteri > 127 li vedrai sempre "strani".

Se parti con un set ASCII prima devi convertirlo in UNICODE, poi da UNICODE a OEM.
Per la prima parte puoi usare le funzioni standard mbstowcs, ma per la seconda devi usare le API Windows ( al che tanto vale usare solo queste ultime ).

Le API di riferimento sono:
MultiByteToWideChar da ASCII a UNICODE ( con flag CP_ACP)
WideCharToMultiByte da UNICODE a OEM ( con flag CP_OEMCP )

http://msdn.microsoft.com/en-us/library/dd319072%28VS.85%29.aspx

robott
10-01-2010, 23:32
Perfetto! ;)

Grazie mille! :)

Loading