jammy (3) swprintf.3.gz

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

NOMBRE

       wprintf,  fwprintf,  swprintf,  vwprintf,  vfwprintf,  vswprintf - conversión con formato de la salida de
       caracteres anchos

SINOPSIS

       #include <stdio.h>
       #include <wchar.h>

       int wprintf(const wchar_t *format, ...);
       int fwprintf(FILE *stream, const wchar_t *format, ...);
       int swprintf(wchar_t *wcs, size_t maxlen,
                    const wchar_t *format, ...);

       int vwprintf(const wchar_t *format, va_list args);
       int vfwprintf(FILE *stream, const wchar_t *format, va_list args);
       int vswprintf(wchar_t *wcs, size_t maxlen,
                     const wchar_t *format, va_list args);

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

       A continuación se muestran todas las funciones:
           _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE ||
           _POSIX_C_SOURCE >= 200112L

DESCRIPCIÓN

       La familia de funciones wprintf() es equivalente  para  caracteres  anchos  a  la  familia  de  funciones
       printf(3). Realizan la salida con formato de caracteres anchos.

       Las  funciones  wprintf()  y  vwprintf() realizan la salida de caracteres anchos a stdout. stdout no debe
       estar orientada a bytes. Vea fwide(3) para más información.

       Las funciones fwprintf() y vfwprintf() realizan la salida de caracteres anchos a stream. stream  no  debe
       estar orientado a bytes. Vea fwide(3) para más información.

       Las  funciones  swprintf() y vswprintf() realizan la salida de caracteres anchos a un array de caracteres
       anchos. El programador debe garantizar  que  hay  espacio  suficiente  en  wcs  para,  al  menos,  maxlen
       caracteres anchos.

       Estas  funciones  son  como  las  funciones  printf(3), vprintf(3), fprintf(3), vfprintf(3), sprintf(3) y
       vsprintf(3), salvo por las siguientes diferencias:

             La cadena format es una cadena de caracteres anchos.

             La salida está formada por caracteres anchos, no por bytes.

             swprintf() y vswprintf() toman un argumento maxlen, sprintf(3) y vsprintf(3)  no.  (Las  funciones
              snprintf(3)  y  vsnprintf(3)  toman  un  argumento  maxlen,  pero en Linux no devuelven -1 ante un
              desbordamiento de buffer.)

       El tratamiento de los caracteres de conversión c y s es distinto:

       c      Si no está presente un modificador l, el argumento int se convierte a un carácter ancho,  mediante
              una llamada a la función btowc(3), y se escribe el carácter ancho resultante.  Si está presente un
              modificador l, se escribe el argumento (carácter ancho)  wint_t.

       s      Si no está presente un modificador l: se espera que el argumento const char * sea un puntero a  un
              array  de  tipo carácter (puntero a una cadena) que contenga una secuencia de caracteres multibyte
              que comience en el estado inicial de cambios. Los caracteres del array se convierten a  caracteres
              anchos  (cada  uno  mediante  una  llama  a  la función mbrtowc(3) con un estado de conversión que
              comienza en el estado inicial antes del primer byte). Se  escriben  todos  los  caracteres  anchos
              resultantes  hasta  encontrar (pero sin incluir) un carácter ancho terminador nulo (L' \0'). Si se
              especifica una precisión, no se escriben más  caracteres  anchos  del  número  especificado.  Dese
              cuenta que la precisión determina el número de caracteres anchos escritos, no el número de bytes o
              posiciones de pantalla.  El array debe contener un byte terminador nulo (' \0'), a  menos  que  se
              proporcione  una  precisión y ésta sea tan pequeña que el número de caracteres anchos obtenidos la
              iguale antes de que se llegue al final del array. (Si está presente un modificador  l:  se  espera
              que el argumento const wchar_t * sea un puntero a un array de caracteres anchos. Se escriben todos
              los caracteres anchos del array hasta encontrar (pero sin incluir) un  carácter  ancho  terminador
              nulo.  Si  se  especifica una presición, no se escriben más caracteres del número especificado. El
              array debe contener un carácter ancho terminador nulo, a menos que se de una precisión y ésta  sea
              más pequeña o igual que el número de caracteres anchos en el array.

VALOR DEVUELTO

       Las  funciones devuelven el número de caracteres anchos escritos, excluyendo el carácter ancho terminador
       nulo en el caso de las funciones swprintf() y vswprintf(). Las funciones devuelven -1 en caso de error.

ATRIBUTOS

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

       ┌─────────────────────────┬────────────────────┬─────────────────────────────────────────────┐
       │InterfazAtributoValor                                       │
       ├─────────────────────────┼────────────────────┼─────────────────────────────────────────────┤
       │wprintf(), fwprintf(),   │ Seguridad del hilo │ Configuración regional de multi-hilo seguro │
       │swprintf(), vwprintf(),  │                    │                                             │
       │vfwprintf(), vswprintf() │                    │                                             │
       └─────────────────────────┴────────────────────┴─────────────────────────────────────────────┘

CONFORME A

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

NOTAS

       El comportamiento de wprintf() y compañía depende de la categoría LC_CTYPE de la localización actual.

       Si la  cadena  format  contiene  caracteres  anchos  que  no  son  ASCII,  el  programa  sólo  funcionará
       correctamente  si  la categoría LC_CTYPE de la localización actual en tiempo de ejecución es la misma que
       la categoría LC_CTYPE de la localización  actual  en  tiempo  de  compilación.  Esto  es  así  porque  la
       representación  wchar_t  es  dependiente  de la plataforma y de la localización. (La glibc representa los
       caracteres anchos usando sus puntos de código Unicode (ISO-10646) pero otras plataformas no  hacen  esto.
       Tampoco  el  uso  de  nombres universales de caractares, según la norma C99, de la forma \unnnn soluciona
       este problema.) Por tanto, en programas internacionalizados, la cadena format debería estar formada  sólo
       por caracteres anchos ASCII, o debería construirse en tiempo de ejecución de una forma internacionalizada
       (por ejemplo, usando gettext(3) o iconv(3), seguida de mbstowcs(3)).

VÉASE TAMBIÉN

       fprintf(3), fputwc(3), fwide(3), printf(3), snprintf(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
       ⟨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 ⟨⟩.