/ / Crea vettore con nomi Farsi. C ++ - c ++, stringa, unicode, farsi

Crea vettore con nomi Farsi. C ++ - c ++, stringa, unicode, farsi

Sto mirando a creare un std::vector<std::string> con nomi Farsi. Ma appena lo compilo, ottengo questo errore:

inserisci la descrizione dell'immagine qui

Questo sembra essere un problema unicode. Qualche suggerimento su come risolvere questo problema?

risposte:

2 per risposta № 1

Compilatore di Visual C ++ di Microsoft supporta i file di codice sorgente Unicode. Specificamente accetta utf-8 (segno di ordine byte richiesto) o UTF-16:

File di codice sorgente

I caratteri Unicode ora sono supportati in identificatori, macro, stringhe e caratteri letterali e nei commenti. Ora sono supportati anche i nomi dei personaggi universali.

Unicode può essere inserito in un file di codice sorgente nelle seguenti codifiche:

Little endian UTF-16 con o senza il byte order mark (BOM)

Big endian UTF-16 con o senza distinta base

utf-8 con BOM

Si noti in particolare che per utf-8, l'ordine dei byteil segno è richiesto. La finestra di dialogo nella tua schermata è l'editor di Visual Studio che rileva che hai inserito caratteri non ASCII e ti chiede se vuoi convertire il file del codice sorgente in utf-8 o UTF-16 (non so quale sia l'impostazione predefinita ma io " d indovina utf-8). Se fai clic su Sì, salverà il file con un segno di ordinamento byte utf-8 (BOM) e tutto andrà bene.