Nedir?
- Amaç: Sistem programlamada sıkça kullanılan
printf
fonksiyonunu sıfırdan, kendi mantığımla ve belirli kısıtlamalarla yeniden kodlamak. - Kapsadığı Konular:
- Değişken sayıda argüman alabilen fonksiyonların kullanımı (
va_list
,va_start
,va_arg
,va_end
). - C dilinde string ve karakter işlemleri, sayısal verileri metne çevirme (itoa benzeri), hexadecimal dönüştürme vb.
- Yazdırma (printing) sürecinde buffer yönetimi veya doğrudan karakteri çıktıya yönlendirme.
- Değişken sayıda argüman alabilen fonksiyonların kullanımı (
Hangi Format Belirteçlerini Destekliyorum?
Proje yönergelerine göre şu format belirteçlerini işledim:
- %c : Tek karakter yazdırma
- %s : Null terminatörle sonlanan string yazdırma
- %p : Göstericiyi (pointer) 0x ön eki ile hex formatında yazdırma
- %d ve %i : İşaretli tamsayı (signed integer) yazdırma
- %u : İşaretsiz tamsayı (unsigned integer) yazdırma
- %x ve %X : Sayıyı onaltılık (hexadecimal) formda yazdırma (küçük veya büyük harf)
- %% : Yüzde işareti karakterini “%” olarak yazdırma
Bunun yanı sıra, çıktının uzunluğunu döndürme (return değeri) gibi printf
’in temel davranışlarını da taklit ettim.
Bir yanıt yazın