Next: Binary I/O, Previous: Numeric Input Conversions, Up: C-Style I/O Functions [Contents][Index]
This section describes the scanf
input conversions for reading
string and character values: ‘%s’ and ‘%c’.
The ‘%c’ conversion is the simplest: it matches a fixed number of characters, always. The maximum field with says how many characters to read; if you don’t specify the maximum, the default is 1. This conversion does not skip over initial whitespace characters. It reads precisely the next n characters, and fails if it cannot get that many.
The ‘%s’ conversion matches a string of non-whitespace characters. It skips and discards initial whitespace, but stops when it encounters more whitespace after having read something.
For example, reading the input:
hello, world
with the conversion ‘%10c’ produces " hello, wo"
, but
reading the same input with the conversion ‘%10s’ produces
"hello,"
.