Bu yapı bir şablon dizgesindeki dönüşüm belirteçleri için kullanılan argüman türleri ve sayıları hakkında bilgi veren ve bu belirteçleri çıktılayan işlevlere bilgi aktarmak için kullanılır. Yapı üyeleri şunlardır:
- int prec
Belirtilen hassasiyettir. Hassasiyet belirtilmemişse değeri -1’dir. Hassasiyet * olarak verilmişse, kotarıcı işleve aktarılan printf_info yapısı argüman listesinden alınan değeri içerir. Ancak argüman türleri ve sayısı için bilgi veren işleve aktarılan yapı, değer bilinmediğinden bir INT_MIN değeri içerir.
- int width
Belirtilen en küçük alan genişliğidir. 0 değeri bir genişlik belirtilmediği anlamına gelir. Alan genişliği * olarak verilmişse, kotarıcı işleve aktarılan printf_info yapısı argüman listesinden alınan değeri içerir. Ancak argüman türleri ve sayısı için bilgi veren işleve aktarılan yapı, değer bilinmediğinden bir INT_MIN değeri içerir.
- wchar_t spec
Belirtilen dönüşüm belirteci karakteridir. Bunun yapı içinde bulunmasının sebebi çok sayıda karaktere aynı kotarıcı işlevi kaydedebilmenizi sağlamaktır, ancak bu olmasa bile kotarıcı işlevi çağırdığınızda onları ayıracak bir yol vardır.
- unsigned int is_long_double
L, ll veya q tür değiştiricileri belirtilmişse değeri mantıksal değer olarak doğrudur. Gerçek sayı dönüşümlerinde bu long double iken tamsayı dönüşümlerinde bir long long int’tir.
- unsigned int is_char
hh tür değiştiricisi belirtilmişse değeri mantıksal değer olarak doğrudur.
- unsigned int is_short
h tür değiştiricisi belirtilmişse değeri mantıksal değer olarak doğrudur.
- unsigned int is_long
l tür değiştiricisi belirtilmişse değeri mantıksal değer olarak doğrudur.
- unsigned int alt
# imi belirtilmişse değeri mantıksal değer olarak doğrudur.
- unsigned int space
(boşluk karakteri) imi belirtilmişse değeri mantıksal değer olarak doğrudur.
- unsigned int left
- imi belirtilmişse değeri mantıksal değer olarak doğrudur.
- unsigned int showsign
+ imi belirtilmişse değeri mantıksal değer olarak doğrudur.
- unsigned int group
' imi belirtilmişse değeri mantıksal değer olarak doğrudur.
- unsigned int extra
Bu üyenin değerinin bağlama özgü bir anlamı vardır. Yapı printf işlevi tarafından kullanılmışsa değeri 0’dır. Kullanıcı tarafından tanımlanmış bir işlev tarafından kullanıldığında ise herhangi bir değer içerebilir.
- unsigned int wide
Akım geniş yönlenimli ise bu üyenin değeri 1’dir.
- wchar_t pad
Çıktıda en küçük alan genişliğinde boş kalan yerlere yerleştirilecek karakterdir. Boş kalan yerler sıfırlarla doldurulursa bu üyenin değeri '0'’dır, aksi takdirde boşluktur (' ').