În C99, pentru a formata calificativul Apply restricționați.
Tabelul 13.3. Specificații Funcția Format scanf ()
Citește o valoare în virgulă mobilă (numai C99)
În mod similar, codul% A (numai C99)
Citește un caracter
Citește un număr întreg zecimal
Citirea unui întreg în orice format (zecimal, octal sau hexazecimal)
citeşte float
În mod similar, codul% e
Se pare set de caractere
Citește semnul la sută
În cazul în care șirul de format întâlnit un alt caracter decât delimitatorul, atunci funcția scanf () citește și aruncați-l. De exemplu, dacă șirul de format .. .. îndeplinesc funcția scanf () citește prima valoare întreagă, iar apoi citiți și aruncați o virgulă, și în cele din urmă citește o altă unitate. În cazul în care caracterul specificat nu este găsit, scanf () ieșiri funcționale.
Elementele fluxul de intrare să fie separate prin spații, file sau separatoare de rânduri. Caracterele, cum ar fi virgula, punct și virgulă, etc. Punct nu este recunoscut ca separator. Acest lucru înseamnă că operatorul va lua valoarea introdusă ca 10, 20. dar refuză secvența de simboluri 10, 20.
Simbolul *. care apare după și înainte de formatul de cod% semn, citește datele de tipul specificat, dar interzic atribuirea lor. Prin urmare, operatorul la introducerea datelor sub formă de 10/20 va plasa o valoare de 10 în variabila x. aruncați semn diviziune și atribui variabilei valoare de 20 y.
formatare modificator de comandă poate include o lungime maximă a câmpului. El este un număr întreg, care este situat între% și codul de format, care limitează numărul de caractere citite pentru toate domeniile. De exemplu, dacă adresa variabilă trebuie să citească nu mai mult de 20 de caractere, se utilizează următoarea declarație.
Dacă fluxul de intrare conține mai mult de 20 de caractere, atunci operațiile ulterioare de tratament pentru a introduce citirea începe de la punctul în care „oprit“ funcția anterioară apel scanf (). În cazul în care separatorul se va întâlni înainte de a atinge lungimea maximă a câmpului, introducere de date este completă. În acest caz, funcția scanf () continuă să citească câmpul următor.
Deși spații, tab-uri și separatoare de linie sunt utilizate ca separatoare de câmp, atunci când citesc un singur caracter sunt citite la fel ca orice alt caracter. De exemplu, în cazul în care fluxul de intrare include simboluri x y. atunci operatorul va plasa pictograma x în variabilă a. spațiu - pentru variabila b. iar simbolul - într-o variabilă.
Amintiți-vă că orice caractere șir de control (inclusiv spații, tab-uri, și NEWLINE), caietul de sarcini non-format sunt utilizate pentru cartografiere și picătură de caractere din fluxul de intrare. Orice caractere corespunzătoare sunt aruncate. De exemplu, în cazul în care fluxul de intrare arata ca 10t20. operatorul atribuie valoarea variabilei x 10, iar variabila y - valoarea este 20. Simbolul t este descărcat, deoarece este prezentă în linia de comandă.
Este important să ne amintim că diferite litere mari și mici în scanset. Prin urmare, în scopul de a scana atât litere mici pretat, în scanset trebuie să-i pus deoparte.
Format modificatori adăugat la funcția scanf () Standard C99
Versiunea C99 pentru utilizare în funcția scanf () adăugat în format modificatori hh. ll. j. z și t. Hh modificator poate fi aplicat la caietul de sarcini d. i. despre. u. x și n. Aceasta înseamnă că argumentul corespunzător este un pointer la o valoare de char de tip semnat sau unsigned char. Ll modificator poate fi, de asemenea, aplicate specificațiilor d. i. despre. u. x și n. Aceasta înseamnă că argumentul corespunzător este un pointer la o valoare de tip semnat lung lung int sau unsigned long long int.
Modifikatop fopmata j. ppimenyaetcya kotopy la cpetsifikatsiyam d. i. despre. u. n și x indică faptul că argumentul corespunzător este un pointer la valoarea sau de tip intmax_t uintmax_t. Aceste tipuri sunt declarate în titlu
z format modificator. care se aplică la caietul de sarcini d. i. despre. u. n și x indică faptul că argumentul corespunzător este un pointer la un obiect de tip size_t. Acest tip a declarat în titlu
Formatul Modificator T. care se aplică la caietul de sarcini d. i. despre. u. n și x indică faptul că argumentul corespunzător este un pointer la un obiect de tip ptrdiff_t. Acest tip a declarat în titlu