Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
iconv - Conversion de jeux de caracteres
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 etre un descripteur de conversion fourni par la
fonction iconv_open(3).
Cette routine est principalement utilisee quand inbuf et *inbuf sont
non NULL. Dans ce cas, iconv() convertit la sequence multi-octets
debutant en *inbuf en une sequence multi-octets commencant en *outbuf.
Au plus *inbytesleft octets seront lus, en partant de *inbuf. Au plus
*outbytesleft octets seront ecrits en commencant en *outbuf.
La fonction iconv() convertit un caractere multi-octets a la fois. Pour
chaque conversion, elle augmente *inbuf et diminue *inbytesleft du
nombre d'octets d'entree convertis, et elle augmente *outbuf et diminue
*outbytesleft du nombre d'octets de sortie ecrits et met a jour l'etat
de conversion contenu au sein de cd. La conversion peut s'arreter pour
quatre raisons :
1. Une sequence multi-octets invalide a ete trouvee en entree. Dans ce
cas, errno est definie a EILSEQ et la fonction renvoie (size_t) -1.
Ensuite, *inbuf pointera sur le debut de la sequence multi-octets
invalide.
2. La sequence d'entree multi-octets a ete convertie entierement,
c'est-a-dire que *inbytesleft est descendu jusqu'a zero. Dans ce cas,
iconv() renvoie le nombre de conversions irreversibles realisees durant
l'appel.
3. Une sequence multi-octets incomplete a ete trouvee alors que la
sequence d'entree se terminait. Dans ce cas, errno est definie a EINVAL
et la fonction renvoie (size_t) -1. Ensuite, *inbuf pointera sur le
debut de la sequence multi-octets incomplete.
4. Le tampon de sortie n'a plus de place pour stocker le prochain
caractere converti. Dans ce cas, errno contiendra E2BIG et la fonction
renverra (size_t) -1.
Une autre possibilite se presente 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'etat de conversion de cd dans l'etat initial, et de
memoriser la sequence de decalage correspondante dans *outbuf. Au
maximum *outbytesleft octets seront ecrits en commencant en *outbuf. Si
le tampon de sortie ne contient pas assez de place pour reinitialiser
la sequence, errno est definie a E2BIG et la fonction renvoie
(size_t) -1. Sinon, elle augmente *outbuf et diminue *outbytesleft du
nombre d'octets ecrits.
Un troisieme cas est possible, si inbuf ou *inbuf est NULL, et si
outbuf ou *outbuf est NULL. Dans ce cas, la fonction iconv() replace
l'etat de conversion cd dans l'etat de conversion initial.
MISE EN GARDE
Le type d'inbuf et outbuf, char **, n'impliquent pas que les objets
pointes sont des chaines de caracteres C termines par le caractere nul,
ou des tableaux de caracteres. La fonction qui appelle iconv doit
s'assurer que les pointeurs passes a la fonction soient adaptes pour un
acces aux caracteres dans le jeu de caracteres approprie. Ceci inclut
l'alignement, sur les plateformes qui ont de severes restrictions sur
l'alignement.
VALEUR RENVOY'EE
La fonction iconv() renvoie le nombre de caracteres convertis de
maniere irreversible durant l'appel. Les conversions reversibles 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 sequence multi-octets invalide a ete trouvee en entree.
EINVAL Une sequence multi-octets incomplete a ete trouvee en entree.
VERSIONS
Cette fonction est disponible dans la glibc depuis la version 2.1.
CONFORMIT'E
POSIX.1-2001.
VOIR AUSSI
iconv_close(3), iconv_open(3)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe 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'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.