NOM¶
mbrlen - Calculer la longueur d'un caractère multioctets
SYNOPSIS¶
#include <wchar.h>
size_t mbrlen(const char *s, size_t n, mbstate_t *ps);
DESCRIPTION¶
La fonction
mbrlen() examine au maximum
n octets de la
séquence commençant en
s et en extrait le
caractère multioctet complet suivant. Elle met à jour
l'état de décalage
*ps. Si le caractère multioctet
ne correspond pas au caractère large nul, elle renvoie le nombre
d'octets qui ont été lus dans
s. Si ce caractère
correspond au caractère large nul, elle réinitialise
l'état
*ps et renvoie 0.
Si les
n octets commençant en
s ne contiennent pas un
caractère multioctet complet,
mbrlen() renvoie
(size_t) -2. Ceci peut se produire même si
n >=
MB_CUR_MAX, dans le cas où la séquence multioctet
contient des séquences de décalage redondantes.
Si la séquence multioctet commençant en
s contient une
séquence invalide avant le prochain caractère complet,
mbrlen() renvoie
(size_t) -1 et place dans
errno
la valeur
EILSEQ. Dans ce cas, les effets sur
*ps sont
indéfinis.
Si
ps est un pointeur NULL, une zone de mémoire statique
réservée à
mbrlen() est utilisée à
sa place.
VALEUR RENVOYÉE¶
La fonction
mbrlen() renvoie le nombre d'octets balayés depuis la
séquence commençant en
s, si un caractère large
non nul a été reconnu. Elle renvoie zéro si un
caractère large nul est rencontré. Elle renvoie
(size_t) -1 et remplit
errno avec
EILSEQ, si une
séquence invalide est trouvée. Elle renvoie
(size_t) -2 si elle n'a pas trouvé de caractère
entier, et si
n doit être augmenté.
ATTRIBUTS¶
Multithreading (voir pthreads(7))¶
La fonction
mbrlen() est sûre dans un contexte multithread avec
exceptions. Elle n’est pas sûre dans un contexte multithread si
appelées avec un paramètre
ps NULL.
C99.
NOTES¶
Le comportement de
mbrlen() dépend de la catégorie
LC_CTYPE de la localisation en cours.
VOIR AUSSI¶
mbrtowc(3)
COLOPHON¶
Cette page fait partie de la publication 3.65 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¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Christophe Blaess <
http://www.blaess.fr/christophe/> (1996-2003), Alain
Portal <
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> ».