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