Loading

NOM

       wcsnrtombs  -  Convertir  une  chaîne  de caractères larges en séquence
       multioctet

SYNOPSIS

       #define _GNU_SOURCE
       #include <wchar.h>

       size_t wcsnrtombs(char *dest, const wchar_t **src, size_t nwc,
                         size_t len, mbstate_t *ps);

       La fonction wcsnrtombs() est l’équivalent de wcsrtombs(3), sauf que  le
       nombre  de  caractères  larges  à  convertir  est  limité  (à  nwc), en
       commençant en *src.

       Si dest n’est pas un pointeur NULL, la fonction wcsnrtombs()  convertit
       au maximum nwc caractères larges depuis la chaîne *src vers la séquence
       multioctet située en dest. Au plus len octets seront écrits dans  dest.
       L’état  de conversion *ps est mis à jour. La conversion est réalisée en
       fait en invoquant à répétition wcrtomb(dest,*src,ps),  aussi  longtemps
       que  cet  appel  réussit,  en  augmentant  à chaque fois dest du nombre
       d’octets écrits, et en incrémentant *src de 1. La  conversion  peut  se
       terminer pour trois raisons :

       1. Un caractère large que l’on ne peut pas représenter par une séquence
       multioctet (dans la locale utilisée) a été rencontré. Dans ce cas  *src
       pointera sur le caractère invalide, et la fonction renverra (size_t) -1
       après avoir placé EILSEQ dans errno.

       2. On a converti nwc caractères larges sans  rencontrer  L'\0',  ou  la
       limite  len  est  atteinte. Dans ce cas, *src pointera sur le caractère
       suivant à convertir, et la fonction renvoie le nombre  d’octets  écrits
       dans dest.

       3.  La  chaîne  de  caractères  larges  a été complètement convertie, y
       compris le L'\0' final (ramenant *ps à l’état initial).  Dans  ce  cas,
       *src  devient  NULL,  et  la fonction renvoie le nombre d’octets écrits
       dans dest, sans compter l’octet '\0'.

       Si dest est NULL, la longueur len est  ignorée,  et  la  conversion  se
       déroule  comme  précédemment, sauf que les octets convertis ne sont pas
       écrits en mémoire, et  qu’il  n’y  a  pas  de  limite  de  longueur  en
       destination.

       Dans tous les cas, si ps est un pointeur NULL, un état statique anonyme
       propre à la fonction est utilisé à la place.

       Le programmeur doit s’assurer qu’il y a assez de place  pour  au  moins
       len octets au minimum dans dest.

VALEUR RENVOYÉE

       La fonction wcsnrtombs renvoie le nombre d’octets constituant la partie
       convertie de la séquence multioctet, sans compter l’octet nul final. Si
       elle  rencontre  un  caractère  large  qu’elle  ne peut convertir, elle
       renvoie (size_t) -1 et place EILSEQ dans errno.

CONFORMITÉ

       Cette fonction est une extension GNU.

NOTES

       Le comportement de wcsnrtombs() dépend de la catégorie LC_CTYPE  de  la
       locale utilisée.

       L’utilisation  d’un  pointeur  NULL  pour  ps  n’est  pas  sûre dans un
       contexte multi-threads.

VOIR AUSSI

       iconv(3), wcsrtombs(3)

COLOPHON

       Cette page fait partie de  la  publication  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement         gérées         par         Nicolas         François
       <nicolas.francois@centraliens.net>   et   l’équipe    francophone    de
       traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».