mblen - Déterminer la taille du prochain caractère multioctet
Bibliothèque C standard (
libc,
-lc)
#include <stdlib.h>
int mblen(const char s[.n], size_t n);
Si
s n'est pas un pointeur NULL, la fonction
mblen() inspecte au
plus
n octets de la chaîne multioctet commençant à
l'adresse
s et extrait le caractère multioctet complet suivant.
Elle utilise un état de décalage statique anonyme, uniquement
connu de la fonction
mblen(). Si le caractère multioctet 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 multioctet complet,
mblen() renvoie
-1. Ceci peut arriver même si
n est supérieur ou
égal à
MB_CUR_MAX, si la chaîne multioctet
contient des séquences de décalages redondantes.
Si la chaîne multioctet 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.
La fonction
mblen() renvoie le nombre d'octets analysés dans la
séquence multioctet 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 multioctet incorrecte ou
un caractère multioctet incomplet a été
rencontrés.
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
mblen() |
Sécurité des threads |
MT-Unsafe race |
POSIX.1-2001, POSIX.1-2008, C99.
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é.
mbrlen(3)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]> et David Prévot <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]