Votre IP: 38.107.179.244 
  
 
Google
 
Accueil e-mail Linux
Linux
Perl
Perl
C
Langage C
Dico
Dictionnaire
Biblio liens
Bibliothèque de liens
Index articles
Index articles
 

Date création : 27-03-2008 20:23:44

Linux  Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]


ICONV

 

Index

  1. NOM
  2. SYNOPSIS
  3. DESCRIPTION
  4. VALEUR RENVOYÉE
  5. ERREURS
  6. CONFORMITÉ À
  7. VOIR AUSSI
  8. TRADUCTION

 

NOMIndex

iconv - Conversion de caractères larges.  

SYNOPSISIndex

#include <iconv.h>

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

DESCRIPTIONIndex

L'argument cd doit être un descripteur de conversion fourni par la fonction iconv_open().
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 ne l'est pas. Alors, la fonction iconv() replace l'état de conversion cd dans l'état de conversion initial.  

VALEUR RENVOYÉEIndex

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

ERREURSIndex

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É ÀIndex

POSIX.1-2001.  

VOIR AUSSIIndex

iconv_close(3), iconv_open(3)  

TRADUCTIONIndex

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.
La traduction de cette page de manuel est basée sur les traductions disponibles sur http://manpagesfr.free.fr/, mais est gérée par l'équipe francophone de traduction de Debian au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction 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> ».


Création : octobre 2007  © Tous droits réservés 2007 linux-perl-c
Valid HTML 4.01 TransitionalValid CSS