İçindekiler:
Tanımı - Scanf anlamı ne?
C programlama dilinde scanf, stdin'den biçimlendirilmiş verileri okuyan bir işlevdir (yani, yeniden yönlendirilmedikçe genellikle klavye olan standart giriş akışı) ve sonuçları verilen bağımsız değişkenlere yazar.
Bu işlev, aynı işlevselliğe sahip ancak yalnızca veri kaynaklarında farklılık gösteren bir işlev ailesine aittir. Örneğin, fscanf girdisini bir dosya akışından alırken, sscanf girdisini bir dizeden alır.
Techopedia, Scanf'i açıklıyor
Scanf işlevinin aşağıdaki prototipi / imzası vardır:
int scanf (sabit karakter * biçimi, …);
nerede
- int (integer) döndürme türüdür
- format, tür belirticileri içeren bir dizedir (aşağıya bakın)
- "…" (üç nokta), işlevin değişken sayıda bağımsız değişkeni kabul ettiğini gösterir; her bağımsız değişken, dönüştürülen sonucun yazıldığı bir bellek adresi olmalıdır
Basit bir tür belirteci yüzde (%) sembolü ve türü belirten alfa karakterden oluşur. Aşağıda scanf tarafından tanınan tür belirticilerine birkaç örnek verilmiştir:
- % c - Karakter
- % d - İşaretli tam sayı
- % x - Onaltılık biçimde işaretsiz tam sayı
- % f - Kayan nokta
- % s - Dize
İşlev, standart giriş akışından girdiyi okuyarak çalışır ve ardından "format" ın içeriğini, herhangi bir format belirleyicisi için tarar ve ikisini eşleştirmeye çalışır. Başarıyla, işlev sonucu iletilen argümanlara yazar.
Örneğin, işlev çağrısı
scanf ("% c% d", & var1, & var2);
ve kullanıcı "a1" yazdığında, işlev "var1" içine "a" ve "var2" içine "1" yazar. Ancak işlev çağrısı
scanf ("% x" ve & var);
aynı giriş ondalık sayıdaki 161 olan onaltılı sayı olan "a1" ile okunur.
İşlev aşağıdaki değeri döndürür:
- > 0 - Dönüştürülen ve başarıyla atanan öğe sayısı.
- 0 - Hiçbir öğe atanmadı.
- <0 - Herhangi bir atama yapılmadan önce okuma hatasıyla karşılaşıldı veya dosya sonuna (EOF) ulaşıldı.