Bu işlev belirteç dönüşüm belirteç karakterini tanımlar. Eğer belirteç 'Y' ise dönüşüm belirteci %Y olacaktır. %s gibi yerleşik dönüşüm belirteçlerini de tanımlayabilirsiniz ama # gibi im karakterlerini l gibi tür değiştiricileri dönüşüm karakteri olarak tanımlayamazsınız. İşlevi bu karakterlerden biri ile çağırırsanız hiçbir etkisi olmaz. Küçük harfleri dönüşüm karakteri olarak tanımlamasanız iyi olur, çünkü ISO C standardı, standardın gelecekteki iyileştirmelerinde başka küçük harflerin de standarda dahil edebileceği konusunda uyarıyor.
kotarıcı-işlev, bir şablon dizgesinde tanımladığınız karakterlerlerden birine rastlarsa
printf ve arkadaşları tarafından çağrılacak işlevdir. İşleve argüman olarak atanan böyle bir işlevin nasıl tanımlanacağı
Kotarıcı İşlevin Tanımlanması bölümünde açıklanmıştır. Bu argüman bir boş gösterici belirtirseniz,
belirteç için atanan kotarıcı işlevi kaldırılacaktır.
argtürleri-işlevi ise, bu dönüşüm belirteci bir şablon dizgesinde kullanıldığında
parse_printf_format işlevi tarafından çağrılır. Bu konu hakkında daha ayrıntılı bilgi almak için
Bir Şablon Dizgesinin Çözümlenmesi bölümüne bakınız.
| Dikkat |
---|
GNU C kütüphanesinin 2.0 öncesi sürümlerinde argtürleri-işlevi işlevinin parse_printf_format işlevi çağrılmadıkça tanımlanması gerekmiyordu. Bu şimdi değişti. Artık, dönüşüm belirteci şablon dizgesinde kullanılmışsa her printf çağrısında bu işlev çağrılmaktadır. |
İşlev başarı durumunda 0 ile döner. Hata oluşması halinde (belirteç aralık dışındaysa) -1 ile döner.
Standart dönüşüm belirteçlerini de yeniden tanımlayabilirseniz de, karışıklığa yol açma olasılığından dolayı iyi bir fikir olmayacaktır. Başkaları tarafından yazılış kütüphane işlevleri bunu yaparsanız hata verebilir.