/ / assegnare cinese come DBCS - c ++, visual-studio-2010, internazionalizzazione

assegnare cinese come DBCS - c ++, visual-studio-2010, internazionalizzazione

Nel mio codice posso fare:

wchar_t * s = L "... una stringa cinese / giapponese / etc ..";

e questo funziona bene. ma se lo faccio:

char * s = "... una stringa cinese / giapponese / etc ..."

Finisco con s assegnato a "???????" (non un problema di visualizzazione, ci sono veri e propri punti interrogativi nel valore).

Dato che sono in US / 1252 Win 7 (VS2010) eApp compilate in Unicode, come posso creare una stringa cinese MBCS data una stringa costante? Non voglio che sia unicode, ma piuttosto la rappresentazione MBCS dei caratteri cinesi.

Finora l'unico modo in cui sono riuscito a farlo è usare la versione Unicode e convertirla in MBCS usando WideCharToMultiByte. Devo davvero farlo o inserirla come array di byte?

risposte:

1 per risposta № 1

Sì, hai davvero bisogno di farlo. Non ci sono valori letterali di stringa MBCS in C ++.

(In teoria si potrebbe fare qualcosa come char * s = "... xa7f6d5 ..." con i byte corretti, ma sarebbe difficile da scrivere e leggere).