Copyright (C) 2000-2012 |
GNU Info (libc.info)Other Input ConversionsOther Input Conversions ----------------------- This section describes the miscellaneous input conversions. The `%p' conversion is used to read a pointer value. It recognizes the same syntax used by the `%p' output conversion for `printf' (Note: Other Output Conversions); that is, a hexadecimal number just as the `%x' conversion accepts. The corresponding argument should be of type `void **'; that is, the address of a place to store a pointer. The resulting pointer value is not guaranteed to be valid if it was not originally written during the same program execution that reads it in. The `%n' conversion produces the number of characters read so far by this call. The corresponding argument should be of type `int *'. This conversion works in the same way as the `%n' conversion for `printf'; see Note: Other Output Conversions, for an example. The `%n' conversion is the only mechanism for determining the success of literal matches or conversions with suppressed assignments. If the `%n' follows the locus of a matching failure, then no value is stored for it since `scanf' returns before processing the `%n'. If you store `-1' in that argument slot before calling `scanf', the presence of `-1' after `scanf' indicates an error occurred before the `%n' was reached. Finally, the `%%' conversion matches a literal `%' character in the input stream, without using an argument. This conversion does not permit any flags, field width, or type modifier to be specified. automatically generated by info2www version 1.2.2.9 |