Funzione di libreria C - wcstombs ()

Descrizione

La funzione di libreria C. size_t wcstombs(char *str, const wchar_t *pwcs, size_t n) converte la stringa di caratteri larghi pwcs a una stringa multibyte che inizia da str. Al massimon byte vengono scritti str.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione wcstombs ().

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

Parametri

  • str - Questo è il puntatore a un array di elementi char di almeno n byte.

  • pwcs - Questa è una stringa di caratteri larghi da convertire.

  • n - Questo è il numero massimo di byte da scrivere in str.

Valore di ritorno

Questa funzione restituisce il numero di byte (non caratteri) convertiti e scritti in str, escluso il carattere null finale. Se viene rilevato un carattere multibyte non valido, viene restituito il valore -1.

Esempio

L'esempio seguente mostra l'utilizzo della funzione 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);
}

Compiliamo ed eseguiamo il programma sopra che produrrà il seguente risultato:

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