1. NOM▲

mblen - Déterminer la taille du prochain caractère multi-octets

2. SYNOPSIS ▲

 
Sélectionnez
#include <stdlib.h>
int mblen(const char *s, size_t n);

3. DESCRIPTION ▲

Si s n'est pas un pointeur NULL, la fonction mblen() inspecte au plus n octets de la chaîne multi-octets commençant à l'adresse s et extrait le caractère multi-octets complet suivant. Elle utilise un état de décalage statique anonyme, uniquement connu de la fonction mblen(). Si le caractère multi-octets n'est pas le caractère large nul, elle renvoie le nombre d'octets consommés de s. Si c'est le caractère large nul, elle renvoie 0.

Si les n octets commençant à l'adresse s ne contiennent pas un caractère multi-octets complet, mblen() renvoie -1. Ceci peut arriver même si n est supérieur ou égal à MB_CUR_MAX, si la chaîne multi-octets contient des séquences de décalages redondantes.

Si la chaîne multi-octets commençant en s contient une séquence invalide avant le prochain caractère complet, mblen() renvoie aussi -1.

Si s est un pointeur NULL, la fonction mblen() réinitialise l'état de décalage (connue d'elle seule), et renvoie une valeur non nulle si le codage a un état de décalage non trivial, ou zéro si le codage est sans état.

4. VALEUR RENVOYÉE ▲

La fonction mblen() renvoie le nombre d'octets analysés dans la séquence multi-octets commençant en s, si un caractère large non nul a été reconnu. Elle renvoie zéro, si un caractère large nul a été trouvé. Elle renvoie -1 si une séquence multi-octets invalide ou un caractère multi-octets incomplet a été rencontrés.

5. ATTRIBUTS ▲

5.1. Multithreading (voir pthreads(7)) ▲

La fonction mblen() n'est pas sûre dans un contexte multithread.

6. CONFORMITÉ ▲

C99.

7. NOTES ▲

Le comportement de mblen() dépend de la catégorie LC_CTYPE de la localisation en cours.

La fonction mbrlen(3) fournit une meilleure interface pour la même fonctionnalité.

8. VOIR AUSSI ▲

mbrlen(3)

9. COLOPHON ▲

Cette page fait partie de la publication 3.52 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/.

10. 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 à <>.

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