Just as printf(...) is used for formatted output you can use scanf(...) for formatted input.
int fscanf(FILE *stream, const char *format, ...) fscanf(...) reads from stream and will transform the input with the rules defined in format. The results will be placed in the arguments given by ...(Note: the arguments must be pointer.). The read ends, when no more transformation rules are in format. fscanf(...) will return EOF when the first transformation reached the file end or some error occured. Otherwise it will return the number of transformed arguments.
format can include rules on how to format the input arguments (see table 8.2 on page ). It can also include:
Spaces or tabs, which are ignored.
any normal character (except %). The characters must be in the input on the corresponding position.
transformation rules, which assembled with a %, the optional character * (this will permit fscanf(...) to assign to an argument), an optional number, an optional character h, l or L (this is for the length of the target) and the transformation character.
int scanf(const char *format, ...)
The same as fscanf(stdin,...).
int sscanf(char *str, const char *format, ...)
As scanf(...), but the input comes from str.