Girdi Dönüşüm Sözdizimi
Önceki Biçimli Girdi Sonraki
Girdi Dönüşüm Sözdizimi
Bir scanf sablon dizgesi, sıradan çok baytlı karakterler arasına serpiştirilmiş % ile başlayan dönüşüm belirtimleri içeren bir dizgedir.
Şablondaki boşluk karakterleri (isspace işlevinin tanıdıkları, bkz. Karakterlerin Sınıflandırılması) girdi akımından boşluk karakterlerini okutur ve bunlar iptal edilir. Eşleşmesi istenen boşluk karakterleri ile okunacak boşluk karakterlerinin aynı karakterler olması gerekmez. Örneğin şablona` , ' yazarsanız bir virgül ve virgülün önünde ve/veya ardında isteğe bağlı boşluk karakterleri ile eşleşir.
Dönüşüm belirtimlerinin parçası olmayan tüm karakterler girdidekilerle aynen eşleşmelidir; bu eşleşme olmazsa bir eşleşme hatası oluşur.
Bir scanf şablon dizgesindeki dönüşüm belirtimlerinin genel şekli:
    % imler genişlik tür dönüşüm
Ayrıntıya girersek, dönüşüm belirtimi bir % işaretini izleyen aşağıdaki parçalardan oluşur:
  • İsteğe bağlı * im karakteri, belirtim için okunan metni yoksaymasını söyler. scanf bu imi kullanan bir belirtim bulduğunda, dönüşüm belirtiminin kalanı tarafından yönlendirildiği girdiyi okur, ama bu girdiyi iptal eder, bir gösterici kullanılmaz ve başarılı atamalar sayacı arttırılmaz.
  • İsteğe bağlı a im karakteri (sadece dizge dönüşümlerinde geçerli) dizgeyi saklamak için yeterli uzulukta bir tampon ayrılmasını söyler. (Bu im bir GNU oluşumudur.) Bkz. Dizge Dönüşümlerinde Özdevimli Ayırma.
  • İsteğe bağlı bir en büyük alan genişliği. Bir onluk tamsayıdır. En büyük genişlik aşıldığında ya da bir eşleşmeyen karaktere rastlandığında hangisi önce oluşursa girdi akımından karakterlerin okunması durdurulur. Çoğu dönüşümler okunan boşluk karakterlerini (bunlar açıkça belgelendirilmiş değildir) iptal eder ve bu iptal edilen karakterler en büyük alan genişliğinden sayılmaz. Dizge girdi dönüşümleri girdinin sonuna bir boş karakter ekler, bu karakter de en büyük alan genişliğine dahil edilmez.
  • İsteğe bağlı bir tür değiştirici karakter. Örneğin, bir int türünden gösterici argümanı belirten %d dönüşüm belirteci ile l tür değiştiricisini tamsayı dönüşümü için belirterek gösterici türünü long int olarak değiştirebilirsiniz.
  • Uygulanacak dönüşümü belirten bir karakter.
İzin verilen seçenekler ve onların yorumlanışı farklı dönüşüm belirteçleri hep aynı değildir. Bir seçeneğin kullanıldığı bir dönüşümdeki yorumlanışı ile ilgili bilgileri, o dönüşümün açıklamalarında bulabilirsiniz.
-Wformat seçeneği ile GNU C derleyicisi scanf ve ilgili işlevleri denetler. Biçim dizgesine bakarak doğru sayı ve türde argüman belirtilip belirtilmediğini denetler. Yazdığınız bir scanf tarzı biçim dizgesini denetlemek için GNU C sözdizimini derleyiciye söyleyecek bir sözdizimi de vardır. (GCC info'sundaki "İşlev Özniteliklerinin Bildirilmesi" [Declaring Attributes of Functions] bölümüne bakınız.)
Önceki Üst Ana Başlık Sonraki
Biçimli Girdi Okumanın Temelleri Başlangıç Girdi Dönüşüm Belirteçlerinin Listesi
Bir Linux Kitaplığı Sayfası