Fonction de bibliothèque C - wcstombs ()

La description

La fonction de bibliothèque C size_t wcstombs(char *str, const wchar_t *pwcs, size_t n) convertit la chaîne de caractères larges pwcs à une chaîne multi-octets commençant à str. Au plusn les octets sont écrits dans str.

Déclaration

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

size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)

Paramètres

  • str - Il s'agit du pointeur vers un tableau d'éléments char d'au moins n octets de long.

  • pwcs - Il s'agit d'une chaîne de caractères larges à convertir.

  • n - Il s'agit du nombre maximum d'octets à écrire dans str.

Valeur de retour

Cette fonction renvoie le nombre d'octets (et non de caractères) convertis et écrits dans str, à l'exclusion du caractère nul de fin. Si un caractère multi-octets non valide est rencontré, la valeur -1 est renvoyée.

Exemple

L'exemple suivant montre l'utilisation de la fonction wcstombs ().

#include <stdio.h>
#include <stdlib.h>

#define BUFFER_SIZE 50

int main () {
   size_t ret;
   char *MB = (char *)malloc( BUFFER_SIZE );
   wchar_t *WC = L"http://www.tutorialspoint.com";

   /* converting wide-character string */
   ret = wcstombs(MB, WC, BUFFER_SIZE);
   
   printf("Characters converted = %u\n", ret);
   printf("Multibyte character = %s\n\n", MB);
   
   return(0);
}

Compilons et exécutons le programme ci-dessus qui produira le résultat suivant -

Characters converted = 29
Multibyte character = http://www.tutorialspoint.com