Udostępnij za pośrednictwem


fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

Drukowanie sformatowanych danych do strumienia.Są to wersje fprintf, _fprintf_l, fwprintf, _fwprintf_l z rozszerzeń zabezpieczeń opisane w Funkcje zabezpieczeń w 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 ]…
);

Parametry

  • stream
    Wskaźnik, aby FILE struktury.

  • format
    Ciąg formatu formantu.

  • argument
    Opcjonalne argumenty.

  • locale
    Ustawienia regionalne, aby użyć.

Wartość zwracana

fprintf_sZwraca liczbę zapisanych bajtów.fwprintf_sZwraca liczbę znaków szerokości napisane.Każda z tych funkcji zwraca wartość ujemną zamiast po wystąpieniu błędu danych wyjściowych.

Uwagi

fprintf_sformaty i drukuje serii wartości w danych wyjściowych i znaki stream*.* Każda funkcja argument (jeśli ma zastosowanie) jest konwertowane i wyjściowe zgodnie ze specyfikacją odpowiedni format w format*.* Dla fprintf_s, format argumentu po tej samej składni i użycia, które ma w printf_s.

fwprintf_sjest to wersja szerokich znaków fprintf_s; w fwprintf_s, format jest łańcuch szerokich znaków.Funkcje te zachowują się identycznie, gdy strumień jest otwierany w trybie ANSI.fprintf_saktualnie nie obsługuje dane wyjściowe do strumienia UNICODE.

Wersje te funkcje, z _l sufiks są identyczne, z wyjątkiem, że używają oni przekazany zamiast bieżące ustawienia regionalne parametr ustawień regionalnych.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Zapewnić, że format nie jest ciągiem zdefiniowane przez użytkownika.

Jak wersje-secure (zobacz fprintf, _fprintf_l, fwprintf, _fwprintf_l), funkcje te sprawdza poprawność ich parametrów i wywołać obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru, jeśli albo stream lub format jest wskaźnik zerowy.Funkcje te różnią się od wersji-secure, w tym sam ciąg formatu jest również sprawdzana.W przypadku wszelkich nieznany lub źle sformułowane Specyfikatory formatowania, te funkcje generować wyjątek nieprawidłowy parametr.We wszystkich przypadkach, gdy wykonanie jest dozwolony, aby kontynuować, funkcje zwracają wartość -1 i errno do EINVAL.Zobacz _doserrno, errno, _sys_errlist i _sys_nerr więcej informacji na temat tych i innych kodów błędów.

Tekst rodzajowy rutynowych mapowania

TCHAR.Rutynowe H

_UNICODE & Nie zdefiniowano _MBCS

_MBCS, definicja

_UNICODE, definicja

_ftprintf_s

fprintf_s

fprintf_s

fwprintf_s

_ftprintf_s_l

_fprintf_s_l

_fprintf_s_l

_fwprintf_s_l

Aby uzyskać więcej informacji, zobacz Specyfikacji formatu.

Wymagania

Funkcja

Wymaganego nagłówka

fprintf_s, _fprintf_s_l

<stdio.h>

fwprintf_s, _fwprintf_s_l

<stdio.h> lub <wchar.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

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

Odpowiednik w programie .NET Framework

System::IO::StreamWriter::Write

Zobacz też

Informacje

Strumień we/wy

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

fscanf — przetwarza dane, _fscanf_l, fwscanf, _fwscanf_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l