200 DODATEK C. WYBRANE FUNKCJE BIBLIOTEKI STANDARDOWEJ str tablica znaków, z której mają być odczytane dane ap wskaźnik na pierwszy argument z listy zmiennej liczby argumentów Format Format składa się ze zwykłych znaków (innych niż znak ’%’) oraz sekwencji sterujących, zaczynających się od symbolu procenta, po którym następuje: • opcjonalna gwiazdka, • opcjonalne maksymalna szerokość pola, • opcjonalne określenie rozmiaru argumentu, • określenie formatu. Jeżeli po znaku procenta występuje od razu drugi procent to cała sekwencja traktowana jest jak zwykły znak procenta (tzn. jest on wypisywany na wyjście). Wystąpienie w formacie białego znaku powoduje, że funkcje z rodziny scanf będą odczy- tywać i odrzucać znaki, aż do napotkania pierwszego znaku nie będącego białym znakiem. Wszystkie inne znaki (tj. nie białe znaki oraz nie sekwencje sterujące) muszą dokładnie pasować do danych wejściowych. Wszystkie białe znaki z wejścia są ignorowane, chyba że sekwencja sterująca określa format [ , c lub n . Jeżeli w sekwencji sterującej występuje gwiazdka to dane z wejścia zostaną pobrane zgod- nie z formatem, ale wynik konwersji nie zostanie nigdzie zapisany. W ten sposób można pomijać część danych. Maksymalna szerokość pola przyjmuje postać dodatniej liczby całkowitej zaczynającej się od cyfry różnej od zera. Określa ona ile maksymalnie znaków dany format może odczytać. Jest to szczególnie przydatne przy odczytywaniu ciągu znaków, gdyż dzięki temu można podać wielkość tablicy (minus jeden) i tym samym uniknąć błędów przepełnienia bufora. Rozmiar argumentu Dla formatów d , i , o , u , x i n można użyć jednego ze modyfikator rozmiaru: • hh — oznacza, że format odnosi się do argumentu typu wskaźnik na signed char lub unsigned char, • h — oznacza, że format odnosi się do argumentu typu wskaźnik na short lub wskaźnik na unsigned short, • l (el) — oznacza, że format odnosi się do argumentu typu wskaźnik na long lub wskaźnik na unsigned long, • ll (el el) — oznacza, że format odnosi się do argumentu typu wskaźnik na long long lub wskaźnik na unsigned long long, • j — oznacza, że format odnosi się do argumentu typu wskaźnik na intmax t lub wskaźnik na uintmax t, • z — oznacza, że że format odnosi się do argumentu typu wskaźnik na size t lub odpo- wiedni typ ze znakiem, • t — oznacza, że że format odnosi się do argumentu typu wskaźnik na ptrdiff t lub odpowiedni typ bez znaku.
... zobacz całą notatkę
Komentarze użytkowników (0)