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 ⟨⟩.