MBRLEN(3)

NOM
mbrlen - Calculer la longueur d'un caractère multi-octets

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 multi-octets complet suivant. Elle met à jour l'état de décalage *ps. Si le caractère multi-octets 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 multi-octets complet, mbrlen() renvoie (size_t) -2. Ceci peut se produire même si n >= MB_CUR_MAX, dans le cas où la séquence multi-octets contient des séquences de décalage redondantes.

Si la séquence multi-octets 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é.

CONFORMITÉ
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.40 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 à <perkamon-fr@traduc.org>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».