Se recomienda usar Visual Studio 2017

fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Imprimir datos con formato en una secuencia. Estas son versiones de fprintf, _fprintf_l, fwprintf, _fwprintf_l con mejoras de seguridad, como se describe en características de seguridad de 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 FILE .

format
Cadena de control de formato.

argument
Argumentos opcionales.

locale
Configuración regional que se va a usar.

fprintf_sDevuelve el número de bytes escritos. fwprintf_sDevuelve el número de caracteres anchos que se escriben. En su lugar, cada una de estas funciones devuelve un valor negativo cuando se produce un error de salida.

fprintf_sda formato e imprime una serie de caracteres y valores a la salida de stream . Cada función argument (si existe) se convierte y sale según la especificación de formato correspondiente de format . Para fprintf_s, format argumento tiene la misma sintaxis y el uso que tiene en printf_s.

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

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

System_CAPS_ICON_important.jpg Importante

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

Al igual que las versiones no seguras (vea fprintf, _fprintf_l, fwprintf, _fwprintf_l), estas funciones validan sus parámetros e invocan el controlador de parámetros no válidos, como se describe en validación de parámetros, si bien stream o format es un puntero nulo. Estas funciones se diferencian de las versiones no seguras en que también se valida la propia cadena de formato. Si no hay ningún especificador de formato desconocido o con formato erróneo, estas funciones generan la excepción de parámetro no válido. En todos los casos, si la ejecución puede continuar, las funciones devuelven -1 y establecen errno en EINVAL. Consulte _doserrno, errno, _sys_errlist y _sys_nerr para obtener más información sobre estos y otros códigos de error.

Asignaciones de rutina de texto genérico

Rutina TCHAR.H_UNICODE y _MBCS no definidos_MBCS definido_UNICODE definido
_ftprintf_sfprintf_sfprintf_sfwprintf_s
_ftprintf_s_l_fprintf_s_l_fprintf_s_l_fwprintf_s_l

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

FunciónEncabezado 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.

// 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" );  
}  

this is a string  
10  
1.500000  

System::IO::StreamWriter::Write

E/S de secuencia
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fscanf, _fscanf_l, fwscanf, _fwscanf_l
sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l

Mostrar: