.\" -*- coding: UTF-8 -*- .\" 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 MBRTOWC 3 "6 mars 2019" GNU "Manuel du programmeur Linux" .SH NOM mbrtowc \- Convertir une séquence multioctet en caractère large .SH SYNOPSIS .nf \fB#include \fP .PP \fBsize_t mbrtowc(wchar_t *\fP\fIpwc\fP\fB, const char *\fP\fIs\fP\fB, size_t \fP\fIn\fP\fB, mbstate_t *\fP\fIps\fP\fB);\fP .fi .SH DESCRIPTION L'utilisation principale de cette fonction est avec \fIs\fP et \fIpwc\fP non NULL. Dans ce cas, la fonction \fBmbrtowc\fP() examine au plus \fIn\fP octets de la chaîne multioctet commençant en \fIs\fP, en extrait le prochain caractère multioctet complet, et le place en \fI*pwc\fP. Elle met à jour l'état de décalage \fI*ps\fP. Si le caractère large obtenu n'est pas L\(aq\e0\(aq (le caractère large nul), elle renvoie le nombre d'octets consommés depuis \fIs\fP. Si le caractère large obtenu est L\(aq\e0\(aq, elle réinitialise l'état de décalage \fI*ps\fP et renvoie zéro. .PP Si les \fIn\fP octets commençant en \fIs\fP ne contiennent pas de caractère large complet, \fBmbrtowc\fP() renvoie \fI(size_t)\ \-2\fP. Cela peut se produire même si \fIn\fP >= \fIMB_CUR_MAX\fP, lorsque 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, \fBmbrtowc\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 Une autre situation est possible, si \fIs\fP est non NULL, mais \fIpwc\fP est NULL. Dans ce cas, \fBmbrtowc\fP() se comporte comme précédemment, mais n'enregistre pas le caractère large obtenu. .PP Un troisième cas se présente si \fIs\fP est NULL. Alors, \fIpwc\fP et \fIn\fP sont ignorés. Si l'état de conversion représenté par \fI*ps\fP indique une conversion multioctet incomplète, la fonction \fBmbrtowc\fP() renvoie \fI(size_t)\ \-1\fP, remplie \fIerrno\fP avec \fBEILSEQ\fP, et laisse \fI*ps\fP dans un état indéfini. Sinon, la fonction \fBmbrtowc\fP() replace \fI*ps\fP dans l'état initial et renvoie 0. .PP Dans tous ces cas, si \fIps\fP est un pointeur NULL, une zone de mémoire statique propre à \fBmbrtowc\fP() est utilisée à sa place. Sinon, \fI*ps\fP doit être un objet \fImbstate_t\fP valide. Un tel objet \fImbstate_t\fP noté \fIa\fP peut être initialisé en le mettant à zéro, par exemple ainsi\ : .PP .in +4n .EX memset(&a, 0, sizeof(a)); .EE .in .SH "VALEUR RENVOYÉE" La fonction \fBmbrtowc\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 Pour une explication des termes utilisés dans cette section, consulter \fBattributes\fP(7). .TS allbox; lb lb lb l l l. Interface Attribut Valeur T{ \fBmbrtowc\fP() T} Sécurité des threads MT\-Unsafe race:mbrtowc/!ps .TE .SH CONFORMITÉ POSIX.1\-2001, POSIX.1\-2008, C99. .SH NOTES Le comportement de \fBmbrtowc\fP() dépend de la catégorie \fBLC_CTYPE\fP de la localisation en cours. .SH "VOIR AUSSI" \fBmbsinit\fP(3), \fBmbsrtowcs\fP(3) .SH COLOPHON Cette page fait partie de la publication\ 5.10 du projet \fIman\-pages\fP Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse \%https://www.kernel.org/doc/man\-pages/. .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot , Jean-Baptiste Holcroft et Grégoire Scano . Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE 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 à .MT debian-l10n-french@lists.debian.org .ME .