/ / Vektor mit Farsi-Namen erstellen. C ++ - C ++, Zeichenfolge, Unicode, Farsi

Erstellen Sie einen Vektor mit Farsi Namen. C ++ - C ++, Zeichenfolge, Unicode, Farsi

Ich möchte eine erstellen std::vector<std::string> mit Farsi-Namen. Sobald ich das kompiliere, erhalte ich diesen Fehler:

Bildbeschreibung hier eingeben

Dies scheint ein Unicode-Problem zu sein. Anregungen zur Behebung dieses Problems?

Antworten:

2 für die Antwort № 1

Der Visual C ++ - Compiler von Microsoft unterstützt Unicode-Quellcodedateien. Insbesondere akzeptiert es utf-8 (Byte-Auftragsmarkierung erforderlich) oder UTF-16:

Quellcodedateien

Unicode-Zeichen werden jetzt in Bezeichnern, Makros, Zeichen- und Zeichenliteralen sowie in Kommentaren unterstützt. Es werden jetzt auch universelle Zeichennamen unterstützt.

Unicode kann in den folgenden Codierungen in eine Quellcodedatei eingegeben werden:

UTF-16 Little Endian mit oder ohne Byte Order Mark (BOM)

UTF-16 Big Endian mit oder ohne Stückliste

utf-8 mit Stückliste

Beachten Sie insbesondere, dass für utf-8 die Byte-Reihenfolge giltMarkierung ist erforderlich. Das Dialogfeld in Ihrem Screenshot zeigt den Visual Studio-Editor, der feststellt, dass Sie Nicht-ASCII-Zeichen eingegeben haben, und fragt Sie, ob Sie die Quellcodedatei in utf-8 oder UTF-16 konvertieren möchten (nicht sicher, was der Standard ist, aber " Wenn Sie auf Ja klicken, wird die Datei mit einer utf-8-Byte-Auftragsmarke (BOM) gespeichert, und alles sollte in Ordnung sein.