.\" Copyright (c) Bruno Haible .\" .\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual .\" Dinkumware C library reference http://www.dinkumware.com/ .\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html .\" ISO/IEC 9899:1999 .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH MBRLEN 3 "21 juin 2013" GNU "Manuel du programmeur Linux" .SH NOM mbrlen \- Calculer la longueur d'un caractère multioctets .SH SYNOPSIS .nf \fB#include \fP .sp \fBsize_t mbrlen(const char *\fP\fIs\fP\fB, size_t \fP\fIn\fP\fB, mbstate_t *\fP\fIps\fP\fB);\fP .fi .SH DESCRIPTION La fonction \fBmbrlen\fP() examine au maximum \fIn\fP octets de la séquence commençant en \fIs\fP et en extrait le caractère multioctet complet suivant. Elle met à jour l'état de décalage \fI*ps\fP. Si le caractère multioctet ne correspond pas au caractère large nul, elle renvoie le nombre d'octets qui ont été lus dans \fIs\fP. Si ce caractère correspond au caractère large nul, elle réinitialise l'état \fI*ps\fP et renvoie 0. .PP Si les \fIn\fP octets commençant en \fIs\fP ne contiennent pas un caractère multioctet complet, \fBmbrlen\fP() renvoie \fI(size_t)\ \-2\fP. Ceci peut se produire même si \fIn\fP >= \fIMB_CUR_MAX\fP, dans le cas où la séquence multioctet contient des séquences de décalage redondantes. .PP Si la séquence multioctet commençant en \fIs\fP contient une séquence invalide avant le prochain caractère complet, \fBmbrlen\fP() renvoie \fI(size_t)\ \-1\fP et place dans \fIerrno\fP la valeur \fBEILSEQ\fP. Dans ce cas, les effets sur \fI*ps\fP sont indéfinis. .PP Si \fIps\fP est un pointeur NULL, une zone de mémoire statique réservée à \fBmbrlen\fP() est utilisée à sa place. .SH "VALEUR RENVOYÉE" La fonction \fBmbrlen\fP() renvoie le nombre d'octets balayés depuis la séquence commençant en \fIs\fP, si un caractère large non nul a été reconnu. Elle renvoie zéro si un caractère large nul est rencontré. Elle renvoie \fI(size_t)\ \-1\fP et remplit \fIerrno\fP avec \fBEILSEQ\fP, si une séquence invalide est trouvée. Elle renvoie \fI(size_t)\ \-2\fP si elle n'a pas trouvé de caractère entier, et si \fIn\fP doit être augmenté. .SH ATTRIBUTS .SS "Multithreading (voir pthreads(7))" La fonction \fBmbrlen\fP() 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 \fIps\fP NULL. .SH CONFORMITÉ C99. .SH NOTES Le comportement de \fBmbrlen\fP() dépend de la catégorie \fBLC_CTYPE\fP de la localisation en cours. .SH "VOIR AUSSI" \fBmbrtowc\fP(3) .SH COLOPHON Cette page fait partie de la publication 3.65 du projet \fIman\-pages\fP 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/. .SH TRADUCTION Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a par l'équipe de traduction francophone au sein du projet perkamon . .PP Christophe Blaess (1996-2003), Alain Portal (2003-2006). Florentin Duneau et l'équipe francophone de traduction de Debian\ (2006-2009). .PP Veuillez signaler toute erreur de traduction en écrivant à ou par un rapport de bogue sur le paquet \fBmanpages\-fr\fR. .PP Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande «\ \fBman\ \-L C\fR \fI
\fR\ \fI\fR\ ».