Provided by: manpages-fr_1.67.0-1_all bug

NOM

       iconv - Conversion de caractères larges.

SYNOPSIS

       #include <iconv.h>

       size_t iconv (iconv_t cd,
                     char ** inbuf, size_t * inbytesleft,
                     char ** outbuf, size_t * outbytesleft);

DESCRIPTION

       L’argument  cd  doit  être  un  descripteur de conversion fourni par la
       fonction iconv_open.

       L’utilisation principale de cette routine est avec inbuf  non  NULL  et
       *inbuf non NULL.  Dans ce cas, iconv convertit la séquence multi-octets
       débutant en *inbuf en une séquence multi-octets commençant en  *outbuf.
       Au  plus *inbytesleft octets seront lus, en partant de *inbuf.  Au plus
       *outbytesleft octets seront écrits en commençant en *outbuf.

       La fonction iconv convertit un caractère multi-octets  à  la  fois,  et
       pour  chaque conversion elle augmente *inbuf et diminue *inbytesleft du
       nombre d’octets d’entrée convertis, et elle augmente *outbuf et diminue
       *outbytesleft  du  nombre  d’octets  de sortie écrits.  Elle met à jour
       l’état de conversion  contenu  au  sein  de  cd.   La  conversion  peut
       s’arrêter pour quatre raisons :

       1.  Une séquence multi-octets invalide a été trouvée en entrée. Dans ce
       cas la fonction renvoie (size_t)(-1) après avoir mis EILSEQ dans errno.
       Ensuite  *inbuf  pointera  sur  le  début  de  la séquence multi-octets
       invalide.

       2. La séquence d’entrée a été convertie entièrement, c’est à  dire  que
       *inbytesleft  est  descendu  jusqu’à zéro. Dans ce cas iconv renvoie le
       nombre de conversions irréversibles réalisées durant l’appel.

       3. Une séquence multi-octets incomplète a  été  trouvée  alors  que  la
       séquence  d’entrée  se  terminait.   Dans  ce  cas  la fonction renvoie
       (size_t)(-1)  après  avoir  mis  EINVAL  dans  errno.   Ensuite  *inbuf
       pointera sur le début de la séquence multi-octets incomplète.

       4.  Le  buffer  de  sortie  n’a  plus de place pour stocker le prochain
       caractère converti. Dans ce cas errno contiendra E2BIG et  la  fonction
       renverra (size_t)(-1).

       Une autre possibilité se présente quand inbuf ou *inbuf sont NULL, mais
       ni outbuf, ni *outbuf ne sont NULL.  Dans  ce  cas  la  fonction  iconv
       essaye  de mettre l’état de conversion de cd dans l’état initial, et de
       mémoriser la séquence de  décalage  correspondante  dans  *outbuf.   Au
       maximum  *outbytesleft  octets  seront écrits en commençant en *outbuf.
       Si  le  buffer  de  sortie  ne  contient  pas  assez  de  place    pour
       réinitialiser la séquence, la fonction renvoie (size_t)(-1) après avoir
       mis  E2BIG  dans  errno.  Sinon  elle  augmente  *outbuf  et  dimininue
       *outbytesleft du nombre d’octets écrits.

       Un  troisième cas est possible, si inbuf ou *inbuf sont NULL, et outbuf
       ou *outbuf sont NULL. Alors, la fonction iconv replace cd  dans  l’état
       de conversion initial.

VALEUR RENVOYÉE

       La  fonction iconv renvoie le nombre de caractères convertis de manière
       irréversible durant l’appel. Les conversions réversibles  ne  sont  pas
       prises  en compte. En cas d’erreur la fonction remplit errno et renvoie
       (size_t)(-1).

ERREURS

       Les erreurs suivantes peuvent se produire, entre autres :

       E2BIG  Il n’y a pas assez de place dans *outbuf.

       EILSEQ Une séquence multi-octets invalide a été trouvée en entrée.

       EINVAL Une séquence multi-octets incomplète a été trouvée en entrée.

CONFORMITÉ

       UNIX98

VOIR AUSSI

       iconv_open(3), iconv_close(3)

TRADUCTION

       Christophe Blaess, 2000-2003.