Provided by: manpages-es-dev_4.18.1-1_all bug

NOMBRE

       mbsnrtowcs - convierte una cadena multibyte a una cadena de caracteres anchos

BIBLIOTECA

       Biblioteca Estándar C (libc, -lc)

SINOPSIS

       #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);

   Requisitos de Macros de Prueba de Características para glibc (véase feature_test_macros(7)):

       mbsnrtowcs():
           Desde glibc 2.10:
               _POSIX_C_SOURCE >= 200809L
           Antes de glibc 2.10:
               _GNU_SOURCE

DESCRIPCIÓN

       La  función  mbsnrtowcs()  es como la función mbsrtowcs(3), salvo que el número de bytes a
       convertir, comenzando en *src, está limitado a nms.

       Si dest no es un NULL, la función mbsnrtowcs() convierte, como máximo,  nms  bytes  de  la
       cadena  multibyte  *src a una cadena de caracteres anchos que comienza en dest. A lo sumo,
       se escriben len caracteres anchos en dest. El estado  de  cambios  *ps  se  actualiza.  La
       conversión  se  realiza  en realidad llamando repetidamente a mbrtowc(Idest, *src, n, ps),
       donde n es algún número positivo  tal  que  esta  llamada  tenga  éxito,  e  incrementa  a
       continuación  dest  en uno y *src en el número de bytes consumidos. La conversión se puede
       detener por tres motivos:

       •  Se ha encontrado una secuencia multibyte inválida. En este caso se deja *src  apuntando
          a  la secuencia multibyte inválida, la función devuelve (size_t) -1 y se asigna a errno
          el valor EILSEQ.

       •  El límite nms fuerza una parada, o se han almacenado len caracteres anchos distintos de
          L'\0'  en dest. En cuyo caso, se deja *src apuntando a la siguiente secuencia multibyte
          a convertir y la función devuelve el número de caracteres anchos escritos en dest.

       •  Se ha convertido completamente la cadena multibyte, incluyendo el  carácter  terminador
          ancho  ('\0')  (que  tiene el efecto colateral de devolver a *ps al estado inicial). En
          esta caso, se asigna a *src un NULL y la  función  devuelve  el  número  de  caracteres
          anchos escritos en dest.

       According  to  POSIX.1,  if  the  input  buffer  ends  with an incomplete character, it is
       unspecified whether conversion stops at the end of the previous character (if any), or  at
       the end of the input buffer.  The glibc implementation adopts the former behavior.

       Si  dest  es  NULL,  se  ignora  len,  y  la  conversión procede como antes, salvo que los
       caracteres anchos obtenidos no se escriben en memoria y que no existe límite  de  longitud
       en el destino.

       En  los  dos  casos  anteriores,  si  ps  es un puntero NULL, en su lugar se usa un estado
       anónimo privado, sólo conocido por la función mbsnrtowcs().

       Los programadores deben garantizar que hay espacio suficiente en dest para, al menos,  len
       caracteres anchos.

VALOR DEVUELTO

       The  mbsnrtowcs()   function  returns  the  number  of  wide  characters  that make up the
       converted part of the wide-character string,  not  including  the  terminating  null  wide
       character.  If an invalid multibyte sequence was encountered, (size_t) -1 is returned, and
       errno set to EILSEQ.

ATRIBUTOS

       Para obtener una explicación de los términos usados en esta sección, véase attributes(7).

       ┌─────────────┬────────────────────┬──────────────────────────────────────────────────────┐
       │InterfazAtributoValor                                                │
       ├─────────────┼────────────────────┼──────────────────────────────────────────────────────┤
       │mbsnrtowcs() │ Seguridad del hilo │ MT-Unsafe race:mbsnrtowcs/!ps                        │
       └─────────────┴────────────────────┴──────────────────────────────────────────────────────┘

ESTÁNDARES

       POSIX.1-2008.

NOTAS

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

       Pasar NULL como valor de ps no es seguro en un entorno multihilos.

VÉASE TAMBIÉN

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

TRADUCCIÓN

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

       Esta traducción es documentación libre; lea  la  GNU  General  Public  License  Version  3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.