c语言标准库详解(三):<stdio.h>之格式化输入
fscanf()函数
int fscanf(FILE *stream, const char *format, ...)
fscanf 函数根据格式串 format 从流 stream 中读取输入,并把转换后的值赋值给后续各个参数,其中的每个参数都必须是一个指针。当格式串 format 用完时,函数返回。如果到达文件的末尾或在转换输入前出错,该函数返回 EOF;否则,返回实际被转换并赋值的输入项的数目。
格式串format
格式串format通常包括转换说明,它用于指导对输入进行解释。格式字符串中可以包含下列项目:
- 空格或制表符
- 普通字符(%除外),它将与输入流中下一个非空白字符进行匹配
- 转换说明,由一个%、一个赋值屏蔽字符*(可选)、一个指定最大字段宽度的数(可选)、一个指定目标字段宽度的字符(h、l或L)(可选)以及一个转换字符组成。
转换说明决定了下一个输入字段的转换方式。通常结果将被保存在由对应参数指向的变量中。但是,如果转换说明中包含赋值屏蔽字符*,例如%*s,则将跳过对应的输入字段&