C-Style Format Strings

Some types can be serialized/deserialized to/from messages using C-style format strings. In C-style format strings, placeholders beginning with the % character indicate locations in the string that map to variables of the designated type. These placeholders take the form of:

%[flags][width][.precision][length]type

where the fields are:

Field

Description

flags

Flags indicating if the string representation should be padded to the designated with and, if so, should the string be left or right justified in the space.

width

Minimum width that the corresponding string representation of the variable should occupy in characters.

precision

Limit on the maximum width that the string representation should occupy based on the type of the variable.

length

Character code indicating the size of the variable expected.

type

Character code specifying what type the placeholder represents. This is the only required field.

These strings can then be used to create messages from a list of variables (printf) or extract variable from messages (scanf).

Some of the most common types are:

Type Code

Type

s

String

d

Integer

f

Float

e or E

Exponential notation float with e or E denoting the exponent.

g or G

General format that uses %f for numbers with small exponents and %e or %E for numbers with large exponents.

For additional information about available types or how the fields are used for each type, please see the help for C’s printf function.