C ++ wcstombs () - C ++ Standardbibliothek

Die Funktion wcstombs () in C ++ konvertiert eine breite Zeichenfolge in eine entsprechende Multibyte-Sequenz.

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

wcstombs () Prototyp

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

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

Diese Funktion konvertiert die breite Zeichenfolge, deren erstes Element von src gezeigt wird, in ihre Multibyte-Darstellung.

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

Der Konvertierungsmechanismus ist der gleiche wie der von wctomb, außer dass der Konvertierungszustand von wctomb nicht beeinflusst wird. Die Konvertierung wird beendet, wenn:

  • Es wird ein Nullzeichen gefunden, das dann konvertiert und gespeichert wird.
  • Es wurde ein wchar_t gefunden, das keinem gültigen Zeichen im aktuellen C-Gebietsschema entspricht.
  • Die maximale Anzahl breiter Zeichen wurde konvertiert.

wcstombs () Parameter

  • dest: Zeiger auf das resultierende Multibyte-Zeichenarray.
  • src: Zeiger auf das erste Element des breiten Zeichens, das in ein Multibyte-Zeichen konvertiert wird.
  • max: Maximale Anzahl breiter Zeichen, die konvertiert werden sollen.

wcstombs () Rückgabewert

  • Wenn die Konvertierung erfolgreich ist, gibt wcstombs () die Anzahl der Multibyte-Zeichen ohne das Abschlusszeichen (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 wcstombs ()?

 #include #include using namespace std; int main() ( wchar_t src() = L"Welcome To Programiz.com"; char dest(50); int num; num = wcstombs(dest, src, 50); cout << "Number of wide character converted = " << num << endl; cout << "Multibyte Character String = " << dest << endl; return 0; )

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

 Anzahl der konvertierten breiten Zeichen = 24 Multibyte-Zeichenfolge = Willkommen bei Programiz.com

Interessante Beiträge...