vprintf
işlevleri
İşlevlerin vprintf
her biri bir bağımsız değişken listesinin işaretçisini alır, ardından verilen verileri biçimlendirip belirli bir hedefe yazar. İşlevler çeşitli şekillerde farklılık gösterir: parametre doğrulamasında, işlevlerin tek baytlı veya geniş karakter dizeleri alıp almadığı, çıkış hedefi ve sıralama parametrelerini belirtme desteği biçim dizesinde kullanılır.
_vcprintf
, _vcwprintf
vfprintf
, vfwprintf
_vfprintf_p
, _vfprintf_p_l
, _vfwprintf_p
, _vfwprintf_p_l
vfprintf_s
, _vfprintf_s_l
, vfwprintf_s
, _vfwprintf_s_l
vprintf
, vwprintf
_vprintf_p
, _vprintf_p_l
, _vwprintf_p
, _vwprintf_p_l
vprintf_s
, _vprintf_s_l
, vwprintf_s
, _vwprintf_s_l
_vscprintf
, _vscprintf_l
, _vscwprintf
, _vscwprintf_l
_vsnprintf
, _vsnwprintf
vsprintf
, vswprintf
_vsprintf_p
, _vsprintf_p_l
, _vswprintf_p
, _vswprintf_p_l
vsprintf_s
, _vsprintf_s_l
, vswprintf_s
, _vswprintf_s_l
Açıklamalar
vprintf
İşlevler, aşağıdaki tabloda listelendiği gibi karşılık gelen işlevlerine benzer. Ancak, her vprintf
işlev bir bağımsız değişken listesinin işaretçisini kabul ederken, karşılık gelen işlevlerin her biri bir bağımsız değişken listesini kabul eder.
Bu işlevler, çıkış için verileri aşağıdaki gibi hedeflere biçimlendirmektedir.
İşlev | Karşılık gelen işlevi | Çıkış hedefi | Parametre Doğrulama | Konumsal Parametre Desteği |
---|---|---|---|---|
_vcprintf |
_cprintf |
console | Null olup olmadığını denetleyin. | hayır |
_vcwprintf |
_cwprintf |
console | Null olup olmadığını denetleyin. | hayır |
vfprintf |
fprintf |
stream |
Null olup olmadığını denetleyin. | hayır |
vfprintf_p |
fprintf_p |
stream |
Null ve geçerli biçimi denetleyin. | evet |
vfprintf_s |
fprintf_s |
stream |
Null ve geçerli biçimi denetleyin. | hayır |
vfwprintf |
fwprintf |
stream |
Null olup olmadığını denetleyin. | hayır |
vfwprintf_p |
fwprintf_p |
stream |
Null ve geçerli biçimi denetleyin. | evet |
vfwprintf_s |
fwprintf_s |
stream |
Null ve geçerli biçimi denetleyin. | hayır |
vprintf |
printf |
stdout |
Null olup olmadığını denetleyin. | hayır |
vprintf_p |
printf_p |
stdout |
Null ve geçerli biçimi denetleyin. | evet |
vprintf_s |
printf_s |
stdout |
Null ve geçerli biçimi denetleyin. | hayır |
vwprintf |
wprintf |
stdout |
Null olup olmadığını denetleyin. | hayır |
vwprintf_p |
wprintf_p |
stdout |
Null ve geçerli biçimi denetleyin. | evet |
vwprintf_s |
wprintf_s |
stdout |
Null ve geçerli biçimi denetleyin. | hayır |
vsprintf |
sprintf |
ile işaret edilen bellek buffer |
Null olup olmadığını denetleyin. | hayır |
vsprintf_p |
sprintf_p |
ile işaret edilen bellek buffer |
Null ve geçerli biçimi denetleyin. | evet |
vsprintf_s |
sprintf_s |
ile işaret edilen bellek buffer |
Null ve geçerli biçimi denetleyin. | hayır |
vswprintf |
swprintf |
ile işaret edilen bellek buffer |
Null olup olmadığını denetleyin. | hayır |
vswprintf_p |
swprintf_p |
ile işaret edilen bellek buffer |
Null ve geçerli biçimi denetleyin. | evet |
vswprintf_s |
swprintf_s |
ile işaret edilen bellek buffer |
Null ve geçerli biçimi denetleyin. | hayır |
_vscprintf |
_vscprintf |
ile işaret edilen bellek buffer |
Null olup olmadığını denetleyin. | hayır |
_vscwprintf |
_vscwprintf |
ile işaret edilen bellek buffer |
Null olup olmadığını denetleyin. | hayır |
_vsnprintf |
_snprintf |
ile işaret edilen bellek buffer |
Null olup olmadığını denetleyin. | hayır |
_vsnwprintf |
_snwprintf |
ile işaret edilen bellek buffer |
Null olup olmadığını denetleyin. | hayır |
argptr
Bağımsız değişken, VARARGS'de tanımlanan türüne va_list
sahiptir. H ve STDARG.H. Değişkenin argptr
va_start tarafından başlatılması gerekir ve sonraki va_arg
çağrılar tarafından yeniden başlatılabilir; argptr
ardından bağımsız değişkendeki ilgili belirtimlere göre çıkış için dönüştürülen ve iletilen bağımsız değişkenler listesinin format
başına işaret eder. format
, için printf
bağımsız değişkenle aynı forma ve işleve format
sahiptir. Bu işlevlerin hiçbiri öğesini çağırmaz va_end
. Her vprintf
işlevin daha eksiksiz bir açıklaması için önceki tabloda listelenen karşılık gelen işlevinin açıklamasına bakın.
_vsnprintf
, 'a bayttan vsprintf
count
buffer
fazla yazmamasından farklıdır.
Bu işlevlerin adında w infix olan sürümleri, karşılık gelen işlevlerin w infix olmadan geniş karakterli sürümleridir; bu geniş karakterli işlevlerin buffer
her birinde ve format
geniş karakter dizeleridir. Aksi takdirde, her geniş karakterli işlev SBCS karşılık gelen işleviyle aynı şekilde davranır.
Ve sonekleri ile _s
_p
bu işlevlerin sürümleri daha güvenli sürümlerdir. Bu sürümler biçim dizelerini doğrular. Biçim dizesi iyi biçimlendirilmemişse (örneğin, geçersiz biçimlendirme karakterleri kullanılıyorsa) bir özel durum oluştururlar.
Bu işlevlerin sonekli _p
sürümleri, sağlanan bağımsız değişkenlerin biçim dizesiyle değiştirildiği sırayı belirtmenize olanak sağlar. Daha fazla bilgi için bkz . Printf_p Konumsal Parametreler.
, vsprintf
vswprintf
ve _vsnprintf
_vsnwprintf
için, çakışan dizeler arasında kopyalama gerçekleşirse, davranış tanımlanmamıştır.
Önemli
format
Kullanıcı tanımlı bir dize olmadığından emin olun. Daha fazla bilgi için bkz . Arabellek taşmalarından kaçınma. Bu işlevlerin güvenli sürümlerini ( _s
veya _p
sonekleri) kullanıyorsanız, kullanıcı tarafından sağlanan bir biçim dizesi, kullanıcı tarafından sağlanan dize geçersiz biçimlendirme karakterleri içeriyorsa geçersiz bir parametre özel durumu tetikleyebilir.
Ayrıca bkz.
Akış G/Ç
fprintf
, _fprintf_l
, fwprintf
, _fwprintf_l
printf
, _printf_l
, wprintf
, _wprintf_l
sprintf
, _sprintf_l
, swprintf
, _swprintf_l
, , __swprintf_l
va_arg
, va_copy
, va_end
, va_start