fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l
Datos con formato imprime en una secuencia. Estas versiones de fprintf, _fprintf_l, fwprintf, _fwprintf_l tienen 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.
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 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.
Nota sobre la seguridad |
---|
Asegúrese de que format no es una cadena definida por el usuario. |
Como las versiones de no Secure (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 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 representan la excepción no válida del parámetro. En todos los casos, si la ejecución puede continuar, las funciones devuelven -1 y establecen errno en EINVAL. Vea _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_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::Write
Vea también
Referencia
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l