The scanf_s function reads a formatted string from stdin, and writes to a list of arguments.
Reaching the end of the io buffer is equivalent to reaching the end-of-file condition for fscanf.
- Parameters
-
| [in] | fmt | format-control string. |
| [out] | ... | arguments to write to |
- Precondition
fmt shall be a null pointer.
-
fmt shall not contain the conversion specifier n
-
None of the arguments corresponding to
s is a null pointer. (not yet)
-
No encoding error shall occur.
-
c, s, and %[ conversion specifiers each expect two arguments (the usual pointer and a value of type rsize_t indicating the size of the receiving array, which may be 1 when reading with a c into a single character) and except that the following errors are detected at runtime and call the currently installed constraint handler function. (not yet)
- Warning
- The current implementation just does some basic argument checks and then calls the native
vsscanf() libc function. Thus the s null pointer check and the two-arg versions of c, s, and %[ are not yet implemented.
- Returns
- Number of receiving arguments successfully assigned, or
EOF if read failure occurs before the first receiving argument was assigned or if there is a runtime constraint violation.
- Return values
-
| > | 0 on success, the number of arguments assigned |
| EOF | on error |
- See also
- vsscanf_s(), swscanf_s(), vsnprintf_s()