beautypg.com

Scanf – Zilog Z8F0130 User Manual

Page 482

background image

Appendix B. C Standard Library

UM013037-1212

458

Zilog Developer Studio II – Z8 Encore!
User Manual

scanf

Reads input from the stream pointed to by stdin, under control of the string pointed to by
format that specifies the admissible input sequences and how they are to be converted for
assignment, using subsequent arguments as pointers to the object to receive the converted
input. If there are insufficient arguments for the format, the behavior is undefined. If the
format is exhausted while arguments remain, the excess arguments are evaluated but oth-
erwise ignored.

The format is composed of zero or more directives from the following list:

one or more white-space characters

an ordinary character (not %)

a conversion specification

Each conversion specification is introduced by the character %. After the %, the following
appear in sequence:

An optional assignment-suppressing character *.

An optional decimal integer that specifies the maximum field width.

An optional h, l or L indicating the size of the receiving object. The conversion char-
acters d, l, n, o, and x can be preceded by h to indicate that the corresponding argu-
ment is a pointer to short_int rather than a pointer to int, or by l to indicate that it is a
pointer to long_int. Similarly, the conversion character u can be preceded by h to indi-
cate that the corresponding argument is a pointer to unsigned_short_int rather than a
pointer to unsigned_int, or by l to indicate that it is a pointer to unsigned_long_int.
Finally, the conversion character e, f, and g can be preceded by l to indicate that the
corresponding argument is a pointer to double rather than a pointer to float, or by L to
indicate a pointer to long_double. If an h, l, or L appears with any other conversion
character, it is ignored.

A character that specifies the type of conversion to be applied. The valid conversion
characters are described in the following paragraphs.

The

scanf

function executes each directive of the format in turn. If a directive fails, as

described below, the

scanf

function returns. Failures are described as input failures (due

to the unavailability of input characters), or matching failures (due to inappropriate input).

A directive composed of white space is executed by reading input up to the first non-
white-space character (which remains unread), or until no more characters can be read. A
white-space directive fails if no white-space character can be found.

A directive that is an ordinary character is executed by reading the next character of the
stream. If the character differs from the one comprising the directive, the directive fails,
and the character remains unread.