C-Bibliotheksfunktionen -wctomb()
C-Standardbibliothek - <stdlib.h>
Beschreibung
C-Bibliotheksfunktionenint wctomb(char *str, wchar_t wchar)Konvertiert das BreitzeichenwcharKonvertiert es in seine Multibyte-Darstellung und speichert es instrDer Anfang des Zeichen-Arrays, auf das gezeigt wird.
Deklaration
Nachfolgend ist die Deklaration der Funktion wctomb() angegeben.
int wctomb(char *str, wchar_t wchar)
Parameter
- str-- ein Zeiger auf ein Array, das groß genug ist, um ein Multibyte-Zeichen zu speichern.
- wchar-- ein Breitzeichen vom Typ wchar_t.
Rückgabewert
- Wenn str nicht NULL ist, gibt die Funktion wctomb() die Anzahl der in das Byte-Array geschriebenen Bytes zurück. Wenn wchar nicht als Multibyte-Sequenz dargestellt werden kann, gibt sie -1 zurück.
- Wenn str NULL ist, gibt die Funktion wctomb() einen Wert ungleich null zurück, wenn die Kodierung einen Shift-Zustand hat, und null, wenn die Kodierung zustandslos ist.
Beispiel
Das folgende Beispiel demonstriert die Verwendung der Funktion wctomb().
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
wchar_t wc = L'a';
char *pmbnull = NULL;
char *pmb = (char *)malloc(sizeof( char ));
printf("要转换的宽字符:\n");
i = wctomb( pmb, wc );
printf("被转换的字符:%u\n", i);
printf("多字节字符:%.1s\n", pmb);
printf("当要转换的字符为 NULL 时尝试转换:\n");
i = wctomb( pmbnull, wc );
printf("被转换的字符:%u\n", i);
/* 不会输出任何值 */
printf("多字节字符:%.1s\n", pmbnull);
return(0);
}
Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:
要转换的宽字符: 被转换的字符:1 多字节字符:a 当要转换的字符为 NULL 时尝试转换: 被转换的字符:0 多字节字符:Weitere Erweiterungen