Compartir a través de


fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

Imprimir los datos con formato en una secuencia.Éstas son versiones de fprintf, _fprintf_l, fwprintf, _fwprintf_l con mejoras de seguridad como se describe en Características de seguridad en CRT.

int fprintf_s( 
   FILE *stream,
   const char *format [,
   argument ]...
);
int _fprintf_s_l( 
   FILE *stream,
   const char *format,
   locale_t locale [,
   argument ]...
);
int fwprintf_s( 
   FILE *stream,
   const wchar_t *format [,
   argument ]...
);
int _fwprintf_s_l( 
   FILE *stream,
   const wchar_t *format,
   locale_t locale [,
   argument ]…
);

Parámetros

  • stream
    puntero a la estructura de FILE .

  • format
    cadena de la Formato-CONTROL.

  • argument
    argumentos opcionales.

  • locale
    la configuración regional a utilizar.

Valor devuelto

fprintf_s devuelve el número de bytes escritos.fwprintf_s devuelve el número de caracteres anchos escritos.Cada una de estas funciones devuelve un valor negativo en su lugar a un error de salida aparece.

Comentarios

fprintf_s da formato y imprime una serie de caracteres y valores al resultado stream*.* Cada función argument (si existe) se convierte y salida según la especificación correspondiente de formato en format*.* para fprintf_s, el argumento de format tiene la misma sintaxis y uso que tiene en printf_s.

fwprintf_s es una versión con caracteres anchos de fprintf_s; en fwprintf_s, format es una cadena de caracteres.Estas funciones se comportan exactamente igual si la secuencia se abre en el modo de ANSI.fprintf_s no admite actualmente la salida en una secuencia de UNICODE.

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 (vea fprintf, _fprintf_l, fwprintf, _fwprintf_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 stream o format es un puntero NULL.Estas funciones se diferencian de las versiones de no seguras 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 representan la excepción no válida del parámetro.En todos los casos, si la ejecución puede continuar, devuelven -1 de las funciones y conjunto errno a EINVAL.Vea _doserrno, errno, _sys_errlist, y _sys_nerr para obtener más información al respecto, y otro, códigos de error.

Asignaciones de la rutina de texto genérico

rutina de TCHAR.H

_UNICODE y _MBCS no definido

_MBCS definido

_UNICODE definido

_ftprintf_s

fprintf_s

fprintf_s

fwprintf_s

_ftprintf_s_l

_fprintf_s_l

_fprintf_s_l

_fwprintf_s_l

Para obtener más información, vea Especificaciones de formato.

Requisitos

Función

Encabezado necesario

fprintf_s, _fprintf_s_l

<stdio.h>

fwprintf_s, _fwprintf_s_l

<stdio.h> o <wchar.h>

Para obtener información adicional de compatibilidad, vea compatibilidad en la Introducción.

Ejemplo

// crt_fprintf_s.c
// This program uses fprintf_s to format various
// data and print it to the file named FPRINTF_S.OUT. It
// then displays FPRINTF_S.OUT on the screen using the system
// function to invoke the operating-system TYPE command.
 
#include <stdio.h>
#include <process.h>

FILE *stream;

int main( void )
{
   int    i = 10;
   double fp = 1.5;
   char   s[] = "this is a string";
   char   c = '\n';

   fopen_s( &stream, "fprintf_s.out", "w" );
   fprintf_s( stream, "%s%c", s, c );
   fprintf_s( stream, "%d\n", i );
   fprintf_s( stream, "%f\n", fp );
   fclose( stream );
   system( "type fprintf_s.out" );
}
  

Equivalente en .NET Framework

System:: IO:: StreamWriter:: Escribir

Vea también

Referencia

E/S de la secuencia

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

fscanf, _fscanf_l, fwscanf, _fwscanf_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l