Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       iconv - Conversion de jeux de caractères

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(3).

       Cette  routine  est  principalement  utilisée quand inbuf et *inbuf sont 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. 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 et  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,  errno  est
       définie à EILSEQ et la fonction renvoie (size_t) -1. Ensuite, *inbuf pointera sur le début
       de la séquence multi-octets invalide.

       2. La séquence  d'entrée  multi-octets  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,  errno est définie à EINVAL et la fonction renvoie (size_t) -1.
       Ensuite, *inbuf pointera sur le début de la séquence multi-octets incomplète.

       4. Le tampon 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 est NULL, mais si ni outbuf, ni
       *outbuf ne le sont. 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
       tampon  de sortie ne contient pas assez de place pour réinitialiser la séquence, errno est
       définie à E2BIG et la fonction  renvoie  (size_t) -1.  Sinon,  elle  augmente  *outbuf  et
       diminue *outbytesleft du nombre d'octets écrits.

       Un  troisième  cas  est possible, si inbuf ou *inbuf est NULL, et si outbuf ou *outbuf est
       NULL. Dans ce cas, la fonction iconv() replace l'état de  conversion  cd  dans  l'état  de
       conversion initial.

MISE EN GARDE

       Le  type  d'inbuf  et  outbuf,  char  **, n'impliquent pas que les objets pointés sont des
       chaînes de caractères C terminés par le caractère nul, ou des tableaux de  caractères.  La
       fonction  qui  appelle  iconv doit s'assurer que les pointeurs passés à la fonction soient
       adaptés pour un accès aux caractères dans le jeu  de  caractères  approprié.  Ceci  inclut
       l'alignement, sur les plateformes qui ont de sévères restrictions sur l'alignement.

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.

VERSIONS

       Cette fonction est disponible dans la glibc depuis la version 2.1.

CONFORMITÉ

       POSIX.1-2001.

VOIR AUSSI

       iconv_close(3), iconv_open(3)

COLOPHON

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

TRADUCTION

       Depuis    2010,    cette   traduction   est   maintenue   à   l'aide   de   l'outil   po4a
       <URL:http://po4a.alioth.debian.org/> par l'équipe de traduction  francophone  au  sein  du
       projet perkamon <URL:http://perkamon.alioth.debian.org/>.

       Christophe   Blaess   <URL:http://www.blaess.fr/christophe/>   (1996-2003),  Alain  Portal
       <URL:http://manpagesfr.free.fr/> (2003-2006). Florentin Duneau et l'équipe francophone  de
       traduction de Debian (2006-2009).

       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> ».