Man page - mbsnrtowcs(3)

Packages contains this manual

Available languages:

en fr es ja ru ro

Manual

mbsnrtowcs

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ATTRIBUTS
STANDARDS
NOTES
VOIR AUSSI
TRADUCTION

NOM

mbsnrtowcs - Convertir une séquence multioctet en chaßne de caractÚres larges

BIBLIOTHÈQUE

BibliothĂšque C standard ( libc , -lc )

SYNOPSIS

#include <wchar.h>

size_t mbsnrtowcs(wchar_t dest [restrict . len ], const char **restrict src ,
size_t
nms , size_t len , mbstate_t *restrict ps );

Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros (7)) :

mbsnrtowcs () :
Depuis la glibc 2.10 :
_POSIX_C_SOURCE >= 200809L
Avant la glibc 2.10 :
_GNU_SOURCE

DESCRIPTION

La fonction mbsnrtowcs () est Ă©quivalente Ă  la fonction mbsrtowcs (3), sauf qu’elle ne convertit qu’un nombre limitĂ© Ă  au plus nms octets commençant en *src .

Si dest n’est pas un pointeur NULL, la fonction mbsnrtowcs () convertit au plus nms octets depuis la sĂ©quence multioctet *src en une chaĂźne de caractĂšres larges situĂ©e dans dest . Au maximum len caractĂšres larges sont Ă©crits dans dest . L’état de conversion *ps est mis Ă  jour. La conversion est en fait rĂ©alisĂ©e en invoquant de façon rĂ©pĂ©tĂ©e mbrtowc(dest, *src, n, ps) , oĂč n est un nombre positif, aussi longtemps que l’appel rĂ©ussit, puis en incrĂ©mentant dest de un et en augmentant *src du nombre d’octets lus. La conversion peut s’arrĂȘter pour trois raisons :

-

Une séquence multioctet incorrecte a été rencontrée. Dans ce cas, *src pointera sur la séquence incorrecte, et la fonction renvoie (size_t) -1 en positionnant errno à la valeur EILSEQ .

-

L’arrĂȘt est forcĂ© Ă  cause de la limite nms , ou si len caractĂšres larges diffĂ©rents de L'\0' ont Ă©tĂ© enregistrĂ©s en dest . Dans ce cas, *src pointe sur la sĂ©quence multioctet suivante, et le nombre de caractĂšres larges Ă©crits dans dest est renvoyĂ©.

-

La sĂ©quence multioctet a Ă©tĂ© complĂštement convertie, y compris le caractĂšre nul ('\0') final (ce qui a pour effet de bord de ramener *ps Ă  l’état initial). Dans ce cas, *src est mis Ă  NULL, et le nombre de caractĂšres larges Ă©crits dans dest , moins le caractĂšre large nul final, est renvoyĂ©.

Selon POSIX.1, si le tampon d’entrĂ©e se termine par un caractĂšre incomplet, il n’est pas spĂ©cifiĂ© si la conversion s’arrĂȘte Ă  la fin du caractĂšre prĂ©cĂ©dant (s’il existe) ou Ă  la fin du tampon d’entrĂ©e. L’implĂ©mentation de la glibc suit le premier comportement.

Si dest est NULL, alors len est ignorĂ©, et la conversion se dĂ©roule comme prĂ©cĂ©demment, sauf que les caractĂšres convertis ne sont pas Ă©crits en mĂ©moire, et qu’aucune limite de destination n’est prise en compte.

Dans tous les cas, si ps est un pointeur NULL, un état anonyme statique, réservé à la fonction mbsnrtowcs () est utilisé à sa place.

Le programmeur doit s’assurer qu’il y assez de place pour au moins len caractùres larges dans dest .

VALEUR RENVOYÉE

La fonction mbsnrtowcs () renvoie le nombre de caractÚres larges placés dans la zone convertie, sans compter le caractÚre nul final. Si une séquence multioctet incorrecte est rencontrée, la fonction renvoie (size_t) -1 , et errno contient EILSEQ .

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes (7).

Image grohtml-3898240-1.png

STANDARDS

POSIX.1-2008.

NOTES

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

Passer NULL dans ps n’est pas sĂ»r dans un contexte multithread.

VOIR AUSSI

iconv (3), mbrtowc (3), mbsinit (3), mbsrtowcs (3)

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr> et Grégoire Scano <gregoire.scano@malloc.fr>

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 à debian-l10n-french@lists.debian.org .