English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base du langage C

Contrôle de flux C

Fonctions en C

Tableaux en C

Pointeurs en C

Chaînes de caractères en C

Structure C

Fichier C

Autres C

Manuel de référence du langage C

Utilisation et exemple de la fonction wctomb() de la bibliothèque C

Bibliothèque standard C - <stdlib.h>

Fonction de bibliothèque C int wctomb(char *str, wchar_t wchar) Convertit le caractère wchar Convertit le caractère large en sa représentation multibyte et la stocke dans str Au début du tableau de caractères pointé.

Déclaration

Voici la déclaration de la fonction wctomb().

int wctomb(char *str, wchar_t wchar)

Paramètre

  • str -- Un pointeur vers un tableau de caractères suffisamment grand pour stocker un caractère multibyte.
  • wchar -- Le type de caractères large est wchar_t.

Valeur de retour

  • Si str n'est pas NULL, wctomb() renvoie le nombre de bytes écrits dans le tableau de bytes. Si le wchar ne peut pas être représenté par une séquence multibyte, il renvoie -1.
  • Si str est NULL, wctomb() renvoie un non zéro si l'encodage a un état de décalage, sinon il renvoie zéro.

Exemple en ligne

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("Caractère large à convertir : \n");
   i = wctomb( pmb, wc );
   printf("Caractère large converti : 睵n", i);
   printf("Caractère multibyte : %.1s\n", pmb);
   printf("Essai de conversion de caractères NULL : \n");
   i = wctomb( pmbnull, wc );
   printf("Caractère large converti : 睵n", i);
   /* Aucune valeur ne sera affichée */
   printf("Caractère multibyte : %.1s\n", pmbnull);
   return(0);
}

Laissons compiler et exécuter le programme ci-dessus, cela produira le résultat suivant :

Caractère large à convertir :
Caractère converti :1
Caractères multibytes : a
Tentative de conversion de caractères NULL :
Caractère converti : 0
Caractères multibytes :

Bibliothèque standard C - <stdlib.h>