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 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
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l