C ++ mbstowcs () - C ++ Standardbibliothek

Die Funktion mbstowcs () in C ++ konvertiert eine Multibyte-Zeichenfolge in eine äquivalent breite Zeichenfolge.

Die Funktion mbstowcs () ist in der Header-Datei definiert.

mbstowcs () Prototyp

 size_t mbstowcs (wchar_t * dest, const char * src, size_t max);

Die Funktion mbstowcs () akzeptiert drei Argumente und gibt einen ganzzahligen Wert zurück.

Diese Funktion konvertiert die Multibyte-Zeichenfolge, deren erstes Element von src gezeigt wird, in ihre Darstellung mit breiten Zeichen (Wert vom Typ wchar_t).

Das Ergebnis wird an dem Speicherort gespeichert, auf den dest zeigt. Der Parameter max gibt die maximale Anzahl der zu konvertierenden Multibyte-Zeichen an.

Der Konvertierungsmechanismus ist der gleiche wie der von mbtowc (), außer dass der Konvertierungsstatus von mbtowc nicht beeinflusst wird. Die Konvertierung wird beendet, wenn:

  • Es wird ein Nullzeichen gefunden, das dann konvertiert und gespeichert wird.
  • Es wurde ein ungültiges Multibyte-Zeichen gefunden.
  • Die maximale Anzahl von Multibyte-Zeichen wurde konvertiert.

mbstowcs () Parameter

  • dest: Zeiger auf das resultierende breite Zeichenarray.
  • src: Zeiger auf das erste Element des Multibyte-Zeichens, das in ein breites Zeichen umgewandelt wird.
  • max: Maximale Anzahl der zu konvertierenden Multibyte-Zeichen.

mbstowcs () Rückgabewert

  • Wenn die Konvertierung erfolgreich ist, gibt mbstowcs () die Anzahl der breiten Zeichen mit Ausnahme des Abschlusszeichens (dh ' 0') zurück, das in das Zielarray geschrieben wird.
  • Wenn während der Konvertierung ein Fehler auftritt, wird -1 zurückgegeben.

Beispiel: Wie funktioniert die Funktion mbstowcs ()?

 #include #include using namespace std; int main() ( char src() = "xc4xe3xbaxc3"; wchar_t dest(10); int num; num = mbstowcs(dest, src, MB_CUR_MAX); cout << "Number of wide character converted = " << num << endl; wcout << "Wide Character String = " << dest << endl; return 0; )

Wenn Sie das Programm ausführen, ist eine mögliche Ausgabe:

 Anzahl der konvertierten breiten Zeichen = 1 Breite Zeichenfolge = ─

Interessante Beiträge...