Fonctions de la bibliothèque C -wctomb()
Bibliothèque standard C - <stdlib.h>
Description
Fonctions de la bibliothèque Cint wctomb(char *str, wchar_t wchar)Convertir le caractère largewcharConvertir celui-ci en sa représentation multioctet et le stocker dansstrLe début du tableau de caractères pointé.
Déclaration
Ci-dessous se trouve la déclaration de la fonction wctomb().
int wctomb(char *str, wchar_t wchar)
Paramètre
- str-- un pointeur vers un tableau suffisamment grand pour stocker un caractère multioctet.
- wchar-- un caractère large de type wchar_t.
Valeur de retour
- Si str n'est pas NULL, la fonction wctomb() renvoie le nombre d'octets écrits dans le tableau d'octets. Si wchar ne peut pas être représenté comme une séquence multioctet, elle renvoie -1.
- Si str est NULL, la fonction wctomb() renvoie une valeur non nulle si l'encodage a un état de décalage, et zéro si l'encodage est sans état.
Exemple
L'exemple suivant montre l'utilisation de la fonction 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);
}
Compilons et exécutons le programme ci-dessus, ce qui produira le résultat suivant :
要转换的宽字符: 被转换的字符:1 多字节字符:a 当要转换的字符为 NULL 时尝试转换: 被转换的字符:0 多字节字符:autres extensions