Provided by: manpages-es-dev_4.13-4_all bug

NOMBRE

       mbrtowc - convierte una secuencia multibyte a un carácter ancho

SINOPSIS

       #include <wchar.h>

       size_t mbrtowc(wchar_t *pwc, const char *s, size_t n, mbstate_t *ps);

DESCRIPCIÓN

       The  main  case for this function is when s is not NULL and pwc is not NULL.  In this case, the mbrtowc()
       function inspects at most n bytes of the multibyte string starting  at  s,  extracts  the  next  complete
       multibyte  character,  converts it to a wide character and stores it at *pwc.  It updates the shift state
       *ps.  If the converted wide character is not L'\0' (the null wide character), it returns  the  number  of
       bytes that were consumed from s.  If the converted wide character is L'\0', it resets the shift state *ps
       to the initial state and returns 0.

       Si  los  n  bytes  que  comienzan  en  s  no contienen un carácter multibyte completo, mbrtowc() devuelve
       (size_t) -2. Esto puede ocurrir incluso si n >= MB_CUR_MAX, si la cadena multibyte contiene secuencias de
       cambios redundantes.

       Si la cadena multibyte que comienza en s contiene una secuencia multibyte inválida  antes  del  siguiente
       carácter  completo,  mbrtowc()  devuelve (size_t) -1 y asigna a errno el valor EILSEQ.  En este caso, los
       efectos sobre *ps son indefinidos.

       Un caso diferente se da cuando s no es NULL pero pwc es NULL. En  este  caso,  la  función  mbrtowc()  se
       comporta como antes, excepto que no almacena el carácter ancho obtenido en memoria.

       Un  tercer  caso  se  da  cuando  s es NULL. En este caso, pwc y n se ignoran. Si el estado de conversión
       representado por *ps indica una conversión incompleta  de  carácteres  multibyte,  la  función  mbrtowc()
       devuelve  (size_t) -1,  asigna a errno el valor EILSEQ, y deja *ps en un estado indefinido. En otro caso,
       la función mbrtowc() coloca *ps en el estado inicial y devuelve 0.

       In all of the above cases, if ps is NULL, a static anonymous state known only to the mbrtowc()   function
       is  used  instead.   Otherwise,  *ps  must  be  a  valid  mbstate_t object.  An mbstate_t object a can be
       initialized to the initial state by zeroing it, for example using

           memset(&a, 0, sizeof(a));

VALOR DEVUELTO

       The mbrtowc()  function returns the number of bytes parsed from the multibyte sequence starting at s,  if
       a  non-L'\0'  wide character was recognized.  It returns 0, if a L'\0' wide character was recognized.  It
       returns (size_t) -1 and sets errno to EILSEQ, if an  invalid  multibyte  sequence  was  encountered.   It
       returns  (size_t) -2  if  it  couldn't  parse  a  complete  multibyte character, meaning that n should be
       increased.

ATRIBUTOS

       Para obtener una explicación de los términos usados en esta sección, véase attributes(7).
       ┌───────────┬────────────────────┬────────────────────────────┐
       │ InterfazAtributoValor                      │
       ├───────────┼────────────────────┼────────────────────────────┤
       │ mbrtowc() │ Seguridad del hilo │ MT-Unsafe race:mbrtowc/!ps │
       └───────────┴────────────────────┴────────────────────────────┘

CONFORME A

       POSIX.1-2001, POSIX.1-2008, C99.

NOTAS

       El comportamiento de mbrtowc() depende de la categoría LC_CTYPE de la localización actual.

VÉASE TAMBIÉN

       mbsinit(3), mbsrtowcs(3)

COLOFÓN

       Esta página es parte de la versión 5.10 del proyecto Linux man-pages. Puede encontrar una descripción del
       proyecto,  información  sobre  cómo  informar  errores  y  la  última   versión   de   esta   página   en
       https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN

       La traducción al español de esta página del manual fue creada por Juan Piernas <piernas@ditec.um.es>

       Esta  traducción  es  documentación  libre;  lea  la GNU General Public License Version 3 o posterior con
       respecto a las condiciones de copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si encuentra algún error en la traducción de esta página  del  manual,  envíe  un  correo  electrónico  a
       debian-l10n-spanish@lists.debian.org.

GNU                                               6 Marzo 2019                                        MBRTOWC(3)