Aşağıdaki bilgiler, gibi scanf_sgüvenli sürümler de dahil olmak üzere işlev ailelerinden herhangi biri scanf için geçerlidir.
Karakter type gerekli tek biçim alanıdır; isteğe bağlı biçim alanlarından sonra görünür. Karakter, type ilişkili bağımsız değişkenin karakter, dize veya sayı olarak yorumlanıp yorumlanmayacağını belirler.
typescanf İşlev karakterleri
Karakter
Beklenen giriş türü
Bağımsız değişken türü
Bağımsız değişken güvenli sürümde boyutlandırılsın mı?
c
Karakter. İşlevlerle scanf kullanıldığında, tek baytlık karakteri belirtir; işlevlerle wscanf kullanıldığında geniş karakteri belirtir. Normalde atlanan boşluk karakterleri belirtildiğinde c okunur. Diğer tür alanlarından farklı olarak, alan genişliği tanımlayıcısı en fazla değil tam karakter sayısını gösterir. Bir sonraki boşluk olmayan tek baytlık karakteri okumak için, öğesini kullanarak %1sbir sonraki boşluk olmayan geniş karakteri okuyun.%1ws
Gerekli. Boyut, null sonlandırıcı için alan içermez.
C
Karşıt boyut karakteri. İşlevlerle scanf kullanıldığında geniş karakter belirtir; işlevlerle wscanf kullanıldığında tek baytlık karakteri belirtir. Normalde atlanan boşluk karakterleri belirtildiğinde C okunur. Diğer tür alanlarından farklı olarak, alan genişliği tanımlayıcısı en fazla değil tam karakter sayısını gösterir. Bir sonraki boşluk olmayan tek baytlık karakteri okumak için, öğesini kullanarak %1sbir sonraki boşluk olmayan geniş karakteri okuyun.%1ws
Gerekli. Boyut bağımsız değişkeni null sonlandırıcı için alan içermez.
d
Ondalık tamsayı.
işaretçisi int.
Hayır
i
Tamsayı. Giriş dizesi "0x" veya "0X" ile başlıyorsa onaltılık, dize "0" ile başlıyorsa sekizlik, aksi takdirde ondalık.
işaretçisi int.
Hayır
o
Sekizli tamsayı.
işaretçisi int.
Hayır
p
Onaltılık basamaklarda bir işaretçi adresi. Okunan basamak sayısı üst sınırı, makine mimarisine bağlı olarak işaretçinin boyutuna (32 bit veya 64 bit) bağlıdır. "0x" veya "0X" ön ek olarak kabul edilir.
işaretçisi void*.
Hayır
u
İşaretsiz ondalık tamsayı.
işaretçisi unsigned int.
Hayır
x
Onaltılık tamsayı.
işaretçisi int.
Hayır
e, E, f, , F, g, G
İsteğe bağlı işaret (+ veya -), ondalık ayırıcı içeren bir veya daha fazla ondalık basamak serisi ve isteğe bağlı üs ("e" veya "E") ve ardından isteğe bağlı olarak imzalanan bir tamsayı değeri içeren kayan nokta değeri.
işaretçisi float.
Hayır
a, A
İsteğe bağlı ondalık ayırıcı içeren bir veya daha fazla onaltılık basamak serisinden oluşan kayan nokta değeri ve ardından bir üs ("p" veya "P") ve ardından ondalık değer.
işaretçisi float.
Hayır
n
Akıştan veya arabellekten okunan giriş yok.
İşlevlere veya wscanf işlevlere intyapılan geçerli çağrıda scanf akıştan veya arabellekten bu noktaya kadar başarıyla okunan karakterlerin depolandığı öğesine işaret eden işaretçi.
Hayır
s
İlk boşluk karakterine kadar dize (boşluk, sekme veya yeni satır). Boşluk karakterleriyle sınırlandırılmayan dizeleri okumak için Genişlik Belirtimi'ndescanf açıklandığı gibi köşeli ayraç ([ ] ) kümesini kullanın.
İşlevlerle scanf kullanıldığında, tek baytlık karakter dizisine işaret eder; işlevlerle kullanıldığında wscanf geniş karakter dizisine işaret eder. Her iki durumda da, karakter dizisi giriş alanı ve otomatik olarak eklenen null karakteri sonlandırmak için yeterince büyük olmalıdır.
Gerekli. Boyut, null sonlandırıcı için alan içerir.
S
İlk boşluk karakterine (boşluk, sekme veya yeni satır) kadar ters boyutlu karakter dizesi. Boşluk karakterleriyle sınırlandırılmayan dizeleri okumak için Genişlik Belirtimi'ndescanf açıklandığı gibi köşeli ayraç ([ ] ) kümesini kullanın.
İşlevlerle scanf kullanıldığında geniş karakterli diziyi ifade eder; işlevlerle wscanf kullanıldığında tek baytlı diziyi gösterir. Her iki durumda da, karakter dizisi giriş alanı ve otomatik olarak eklenen null karakteri sonlandırmak için yeterince büyük olmalıdır.
Gerekli. Boyut, null sonlandırıcı için alan içerir.
Gerekirse boyut bağımsız değişkenleri, uygulandıkları bağımsız değişkenin hemen ardından parametre listesinde geçirilmelidir. Örneğin aşağıdaki kod:
içinde uzunluğu en fazla 10 string1olan bir dizeyi ve içinde en fazla 8 string2uzunluğa sahip bir dize okur. Boşluk null sonlandırıcı için ayrılmış olması gerektiğinden arabellek boyutları genişlik belirtimlerinden en az bir tane daha fazla olmalıdır.
Biçim dizesi, işlevin tek baytlık karakteri veya geniş karakter sürümü kullanıldığından bağımsız olarak tek baytlı veya geniş karakterli girişi işleyebilir. Bu nedenle, işlevler ve wscanf işlevlerle scanf tek baytlık veya geniş karakterleri okumak için biçim tanımlayıcılarını aşağıdaki gibi kullanın.
Karakteri farklı okumak için
Bu işlevi kullan
Bu biçim tanımlayıcılarıyla
tek bayt
scanf işlevleri
c, hc veya hC
tek bayt
wscanf işlevleri
C, hc veya hC
geniş
wscanf işlevleri
c, lc veya lC
geniş
scanf işlevleri
C, lc veya lC
İşlevler ve wscanf işlevlerle scanf dizeleri taramak için yukarıdaki tabloyu ve Cyerine c biçim türü tanımlayıcılarıyla sS kullanın.