C语言中的fscanf()函数与vfscanf()函数使用
C语言fscanf()函数:输入函数(比较常用)
头文件:
#include<stdio.h>
定义函数:
intfscanf(FILE*stream,constchar*format,...);
函数说明:fscanf()会自参数stream的文件流中读取字符串,再根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf().转换后的结构存于对应的参数内。
返回值:成功则返回参数数目,失败则返回-1,错误原因存于errno中。
范例
#include<stdio.h> main() { inti; unsignedintj; chars[5]; fscanf(stdin,"%d%x%5[a-z]%*s%f",&i,&j,s,s); printf("%d%d%s\n",i,j,s); }
执行:
100x1baaaaaaaaabbbbbbbbbb//从键盘输入 1027aaaaa
C语言vfscanf()函数:输入函数(先格式化字符串再输入)
头文件:
#include<stdio.h>
定义函数:
intvfscanf(FILE*stream,constchar*format,va_listap);
函数说明:vfscanf()会自参数stream的文件流中读取字符串,再根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf().转换后的结果存于对应的参数内.va_list用法请参考附录C或vprintf().
返回值:成功则返回参数数目,失败则返回-1,错误原因存于errno中.