Compartir a través de


_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l

Los formatos e imprime en la consola.Éstas son versiones de _cprintf, _cprintf_l, _cwprintf, _cwprintf_l con mejoras de seguridad como se describe en Características de seguridad en CRT.

Nota importanteImportante

Esta API no se puede utilizar en las aplicaciones que se ejecutan en tiempo de ejecución de Windows.Para obtener más información, vea Funciones CRT no compatibles con /ZW.

int _cprintf_s( 
   const char * format [, 
   argument] ... 
);
int _cprintf_s_l( 
   const char * format,
   locale_t locale [, 
   argument] ... 
);
int _cwprintf_s(
   const wchar * format [, 
   argument] ...
);
int _cwprintf_s_l(
   const wchar * format,
   locale_t locale [, 
   argument] ...
);

Parámetros

  • format
    Cadena de la Formato-CONTROL.

  • argument
    Parámetros opcionales.

  • locale
    La configuración regional a utilizar.

Valor devuelto

El número de caracteres impreso.

Comentarios

Estas funciones formato e imprime una serie de caracteres y valores directamente en la consola, mediante la función de _putch (_putwch para _cwprintf_s) para producir caracteres.Cada argument (si existe) se convierte y salida según la especificación correspondiente de formato en format.El formato tiene el mismo formato y función que el parámetro de format para la función de printf_s.A diferencia de fprintf_s, de printf_s, y las funciones de sprintf_s, ni _cprintf_s ni _cwprintf_s traduce los caracteres de avance de línea a combinaciones de fuentes de la retorno- línea de carro (CR-LF) cuando se genera.

Una diferencia importante es que _cwprintf_s muestra caracteres Unicode cuando se utiliza en Windows NT.A diferencia de _cprintf_s, _cwprintf_s utiliza la configuración regional actual de consola

Las versiones de estas funciones con el sufijo de _l son idénticas salvo que utilizan el parámetro locale pasado en lugar de la configuración regional actual.

Nota de seguridadNota sobre la seguridad

Asegúrese de que format no es una cadena definida por el usuario.

Como las versiones de no Secure (vea _cprintf, _cprintf_l, _cwprintf, _cwprintf_l), estas funciones validan sus parámetros y se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros, si format es un puntero NULL.Estas funciones se diferencian de las versiones de no Secure en que la cadena de formato propio también se van a validar.Si hay algún desconocido o formado mal dando formato especificadores, estas funciones se invoca el controlador no válido del parámetro.En todos los casos, si la ejecución puede continuar, devuelven -1 de las funciones y conjunto errno a EINVAL.

Asignaciones de la rutina de Genérico- texto

Rutina de Tchar.h

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tcprintf_s

_cprintf_s

_cprintf_s

_cwprintf_s

_tcprintf_s_l

_cprintf_s_l

_cprintf_s_l

_cwprintf_s_l

Requisitos

Rutina

Encabezado necesario

_cprintf_s,_cprintf_s_l

<conio.h>

_cwprintf_s, _cwprintf_s_l

<conio.h>

Para obtener más información de compatibilidad, vea Compatibilidad en la Introducción.

Bibliotecas

Todas las versiones de Bibliotecas en tiempo de ejecución de C.

Ejemplo

// crt_cprintf_s.c
// compile with: /c
// This program displays some variables to the console.


#include <conio.h>

int main( void )
{
   int      i = -16, h = 29;
   unsigned u = 62511;
   char     c = 'A';
   char     s[] = "Test";

   /* Note that console output does not translate \n as
    * standard output does. Use \r\n instead.
    */
   _cprintf_s( "%d  %.4x  %u  %c %s\r\n", i, h, u, c, s );
}

Output

-16  001d  62511  A Test

Vea también

Referencia

E/S de la consola y de puerto

_cscanf, _cscanf_l, _cwscanf, _cwscanf_l

fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

printf_s, _printf_s_l, wprintf_s, _wprintf_s_l

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l

vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

Sintaxis de especificación de formato: Funciones printf y wprintf