scanf függvény
A C99, formázza az Apply-minősítő korlátozza.
Táblázat 13.3. Műszaki adatok Formátum funkció scanf ()
Olvasás egy lebegőpontos értéket (csak C99)
Hasonlóképpen a kód% egy (csak a C99)
Olvasás egy karakter
Olvasás egy decimális egész
Reading egy egész bármilyen formátumban (decimális, oktális vagy hexadecimális)
olvasás úszó
Hasonlóképpen a kódot% e
Úgy néz ki, meghatározott karakterek
Elolvassa a százalék jel
Ha a formátum string találkozott egy más karakter, mint a határoló, akkor a függvény scanf () beolvassa, és dobja. Például, ha a formátum string .. .. megfeleljen a scanf () függvény beolvassa az első egész értéket, majd olvassuk el és dobja ki a vesszőt, és végül olvas a másik készüléket. Ha a megadott karakter nem található, scanf () függvény kilép.
Az elemek a bemeneti folyam kell szóközzel elválasztva, fülek vagy osztók sorok. Karakterek, például vessző, pontosvessző stb Point nem ismerik el elválasztó. Ez azt jelenti, hogy az üzemeltető megteszi a megadott érték 10, 20, de nem hajlandó a szimbólumok sorozatát 10, 20.
A *. megjelenő előtt és után a% jel formátum, olvassa az adatokat a megadott típusú, de megtiltják a feladatot. Következésképpen az üzemeltető adatbevitel során formájában 10/20 fog egy 10-es érték a változó x. dobja osztás jele, és hozzárendeli a 20 y változó.
formázás parancs módosító tartalmazhat maximum mező hosszát. Ő egy egész szám, amely között található a% és a formátum kód, amely korlátozza a karakterek száma olvasni minden területen. Például, ha a változó címét kell olvasni nem több, mint 20 karakter, a következő nyilatkozatot használják.
Ha a bemenő jel tartalmazza több mint 20 karakter, akkor a következő kezelési műveleteket bemenet az olvasási attól a ponttól kezdődik, amelyben a „megállt” a korábbi kiírás scanf () függvényt. Ha az elválasztó találkozik, mielőtt eléri a maximális hosszúságú mező, adatbevitel befejeződött. Ebben az esetben a függvény scanf () beolvas a következő mezőbe.
Bár szóköz, tab és a vonal elválasztó használják mezőelválasztóként, olvasása közben egy karaktert olvas, mint bármely más karakter. Például, ha a bemeneti adatfolyam tartalmaz szimbólumokat x y. akkor az üzemeltető hozza az x ikonra a változó a. tér - a változó b. és a szimbólum - egy változó.
Ne feledje, hogy minden karakterlánc karaktert (szóközökkel együtt, a lapok és új sor), nem formátumleírókat használt térképészeti és dobja karaktereket a bemeneti folyam. Bármilyen megfelelő karakterek nem használhatók. Például, ha a bemeneti adatfolyam néz 10t20. üzemeltető hozzárendeli a változó értéke x 10, és y változó - az érték 20. A szimbólum t elöntjük, mivel ez jelen van a vezérlő vezetékben.
Fontos megjegyezni, hogy a különböző kis-és nagybetűket a scanset. Ezért, annak érdekében, hogy átvizsgálja mind nagy- és kisbetűket, a scanset kell állítani őket egymástól.
Format módosítók adunk a scanf () funkció Standard C99
A C99 verzió használata a scanf () függvény adunk módosítók hh formátumban. ll. j. z és t. Hh-módosító lehet alkalmazni, hogy az előírásoknak d. i. kb. u. X és n. Ez azt jelenti, hogy a megfelelő argumentum egy mutató értéke típusú aláírt char vagy unsigned char. Ll módosítót is lehet alkalmazni, hogy az előírásoknak d. i. kb. u. X és n. Ez azt jelenti, hogy a megfelelő argumentum egy mutató a típusú érték alá hosszú long int vagy unsigned long long int.
Modifikatop fopmata j. kotopy ppimenyaetcya a cpetsifikatsiyam d. i. kb. u. n és X jelzi, hogy a megfelelő argumentum egy mutató értékét vagy írja intmax_t uintmax_t. Ezek a típusok bejelentett cím
Z formátumban módosítót. amely alkalmazható a specifikációk d. i. kb. u. n és X jelzi, hogy a megfelelő argumentum egy mutatót egy objektum típusú size_t. Ez a típus bejelentett cím
Módosítót formátumban t. amely alkalmazható a specifikációk d. i. kb. u. n és X jelzi, hogy a megfelelő argumentum egy mutatót egy objektum típusú ptrdiff_t. Ez a típus bejelentett cím