C-Style Format Strings — cis_interface 0.3.0 documentation

# 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.