fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l
Biçimlendirilmiş veri akışı için yazdırın.Bunlar sürümleridir fprintf, _fprintf_l, fwprintf, _fwprintf_l açıklandığı gibi güvenlik geliştirmeleri ile crt güvenlik özellikleri.
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 ]…
);
Parametreler
stream
İşaretçi FILE yapısı.format
Denetim biçim dizesi.argument
İsteğe bağlı bağımsız değişkenler.locale
Kullanılacak yerel ayarı.
Dönüş Değeri
fprintf_syazılan bayt sayısını verir.fwprintf_syazılan geniş karakter sayısını verir.Çıktı hatası oluştuğunda bu işlevlerden her biri negatif bir değer yerine döndürür.
Notlar
fprintf_sbiçimleri ve bir dizi karakter ve çıktı değerleri yazdırır stream*.* Her işlev argument (varsa) dönüştürülür ve ilgili biçim belirtimini uyarınca çıktı format*.* İçin fprintf_s, format baðýmsýz deðiþkeni vardýr aynı sözdizimi ve sahip, kullanımı printf_s.
fwprintf_sgeniş karakter sürümü fprintf_s; de fwprintf_s, format bir geniş karakter dizesidir.Akış ANSI modunda açılırsa bu işlevler aynı şekilde davranır.fprintf_sşu anda çıktı bir UNICODE akımına desteklemiyor.
Bu işlevler ile sürümlerini _l soneki yerine yerel geçirilen yerel parametresi kullandıkları dışında aynı.
Güvenlik Notu |
---|
Emin format kullanıcı tanımlı bir dize değil. |
Güvenli olmayan sürümleri gibi (bkz: fprintf, _fprintf_l, fwprintf, _fwprintf_l), bu işlevler kendi parametrelerini doğrulamak ve açıklandığı gibi geçersiz bir parametre işleyicisi çağırmak Parametre doğrulama, ya da, stream veya format bir null işaretçi.Bu işlevler, biçim dizesi de geçerliliği bakımından güvenli olmayan sürümlerden farklıdır.Bilinmeyen veya hatalı oluşturulmuş herhangi bir biçimlendirme belirticileri varsa, bu işlevler geçersiz parametre özel durum üretir.Tüm durumlarda yürütülmesine devam etmek için izin verilip verilmediğini işlevleri -1 dönmek ve errno için EINVAL.Bkz: _doserrno, errno, _sys_errlist ve _sys_nerr bu ve diğer hata kodları hakkında daha fazla bilgi için.
Genel metin yordamı eşlemeleri
TCHAR.H yordamına girildi |
_UNICODE & _mbcs tanımlı değil |
Tanımlanan _mbcs |
Tanımlanan _UNICODE |
---|---|---|---|
_ftprintf_s |
fprintf_s |
fprintf_s |
fwprintf_s |
_ftprintf_s_l |
_fprintf_s_l |
_fprintf_s_l |
_fwprintf_s_l |
Daha fazla bilgi için bkz: Biçimi belirtimleri.
Gereksinimler
İşlev |
Gerekli başlık |
---|---|
fprintf_s, _fprintf_s_l |
<stdio.h> |
fwprintf_s, _fwprintf_s_l |
<stdio.h> veya <wchar.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.
Örnek
// 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" );
}
.NET Framework Eşdeğeri
System::IO::StreamWriter::Write
Ayrıca bkz.
Başvuru
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l