Referencia c

Olvasás stdin patak

A változata C99 formázni az Apply-minősítő korlátozza.

  • formátumleírók;
  • whitespace;
  • eltérő karaktereket szóközöket.

Olvasás egy lebegőpontos értéket (csak C99)







Hasonlóképpen a kód% egy (C99 esetén)

Olvasás egy karakter

Olvasás egy decimális egész

Olvasás egész bármilyen formátumban (decimális, oktális, hexadecimális)

Olvas egy valós szám

Hasonlóképpen a kódot e%

Olvas egy valós szám

Hasonlóképpen a kód% F (csak C99)

Olvas egy valós szám

Hasonlóképpen a kód% g

Olvasás egy szám

Olvas egy hexadecimális szám

Hasonlóképpen, a kód x%

Olvasás decimális előjel nélküli egész

Úgy néz ki, meghatározott karakterek

Elolvassa a százalék jel

Ahhoz, hogy olvasni egy hosszú egész szám, megelőzheti a formátum meghatározásakor módosítót L, és olvasni a rövid egész - a módosító h. Ezek a módosítók lehet használni, hogy formátum kódok D, I, o, u és x.

Nem szóköz karakter a formátum string hatására a funkció scanf (), hogy olvassa el és dobja a megfelelő szimbólumot. Például a format string.,. scanf () függvény beolvassa az első egész értéket, majd olvasni és dobja vessző és végül olvas a másik egység. Ha a megadott karakter nem található, a munka scanf () függvény befejeződött.

bemeneti elemek el kell szóközzel elválasztva, fülek vagy új sorban. Karakterek, például vessző, pontosvessző stb Point nem ismerik el elválasztó. Ez azt jelenti, hogy az üzemeltető

hogy a megadott értékek, mint 10 20, hanem megtagadja határozottan „ételek”, eredetileg benyújtott 10.20.

* Szimbólum jelenik meg, miután a% jelet, és mielőtt a formátum kódot, olvassa el a meghatározott típusú adat, 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. Ez értéke közötti a% és a formátum kód, amely korlátozza a karakterek száma olvasni minden területen. Például, ha azt szeretnénk, hogy olvassa be a változó címe nem több, mint 20 karakter, használja az alábbi nyilatkozatot.







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. Észlelése esetén a fehér tér adatbeviteli mezőket lehet befejezni, ha a maximális hosszúságú mező. Ebben az esetben a függvény scanf () beolvas a következő mezőbe.

Annak ellenére, hogy szóköz, tab és új vonalakat használunk, mint a mező elválasztó, az olvasás egy karaktert úgy olvasni, mint bármely más karakter. Például, ha a bemeneti folyam áll a szimbólumok x, az üzemeltető

hogy egy szimbólum az x változó, és a tér - változó b és a szimbólum - egy változó.

Ne feledje, hogy bármilyen más vezérlő karakterláncok, amelyek nem formátumleírók (szóközökkel, a lapok és az új vonalak) létrehozására használt megfelelés és dobja karaktereket a bemeneti folyam. Például, ha a bemeneti adatfolyam külleme 10t20, operátor

put 10 az x változó, 20 - a változó y. A szimbólum t elöntjük, mivel ez jelen van a vezérlő vezetékben.

Ha az első karakter a készlet egy kalap (^), majd megkapjuk az ellenkező hatást: a beviteli mező olvasni, mielőtt az első szimbólum, a előre meghatározott szimbólumok, azaz kalap okoz scanf () függvény, hogy fogadják el karakter, amely nem határozza meg a készlet.

Sok fordítóprogram teszi egy kötőjellel adjon meg egy tartományt. Például a következő nyilatkozatot okozza a scanf () függvény a karakterek tól Z-ig

Fontos megjegyezni, hogy scanset megkülönbözteti a kis- és nagybetűket. Ezért, ha azt szeretnénk, hogy átvizsgálja mind nagy- és kisbetűket, meg őket egymástól.

Format módosítók adunk a scanf () függvény egy szabványos C99

A változata C99 hozzáadott több módosítók formátumot használja a függvény scanf (): HH, LL, J, Z és T. Hh-módosító lehet alkalmazni meghatározók d, i, o, u, x és n. Ez azt jelenti, hogy a megfelelő argumentum egy mutató értékét típusú aláírt char vagy unsigned char. Ll módosítót is lehet használni, hogy meghatározót d, i, o, u, x és n. Ez azt jelenti, hogy a megfelelő argumentum egy mutató a típusú érték alá hosszú long int és előjel nélküli hosszú hiba, hosszú int.

Módosító formátumban j, amelyeket felvisznek a meghatározók D, I, o, u, x és n, azt jelenti, hogy a megfelelő argumentum egy mutató értékét vagy írja intmax_t uintmax_t. Ezek a típusok bejelentett cím és tárolására használják teljes hosszában lehetséges.

z módosító formátumban, hogy alkalmazzák a meghatározók d, i, a, u, x és n, azt jelenti, hogy a megfelelő argumentum egy mutatót egy objektum típusú size_t. Ez a típus bejelentett cím és arra szolgál, hogy tartsa az eredményt sizeof működését.

Módosító formátumú t, amelyre érvényes előírást D, I, egy, u, x és n, azt jelenti, hogy a megfelelő argumentum egy mutatót egy objektum típusú ptrdiff_t. Ez a típus bejelentett cím és arra szolgálnak, hogy az érték a különbség a két mutató.




Kapcsolódó cikkek