fscanf用法解析

int fscanf ( FILE * stream, const char * format, ... );

描述:

从流中读取格式化的数据
从流中读取数据并根据参数格式将它们存储到附加参数指向的位置。
额外的参数应该指向格式化字符串中已经分配了相应格式说明符指定类型的对象。

参数:

stream

指向标识要从中读取数据的输入流的FILE对象。

format

包含格式字符串的C字符串,其格式与scanf中的格式相同

返回值:

成功时,函数返回成功填充的参数列表项数。 此计数可以匹配预期的项目数量,或者由于匹配失败,读取错误或文件结束的范围而减少(甚至为零)。
如果发生读取错误或在读取时达到文件结束,则设置正确的指示符(feof或ferror)。 而且,如果在任何数据可以被成功读取之前发生,则返回EOF。
如果发生编码错误解释宽字符,函数将errno设置为EILSEQ。

/* fscanf example */
#include <stdio.h>

int main ()
{
  char str [80];
  float f;
  FILE * pFile;

  pFile = fopen ("myfile.txt","w+");
  fprintf (pFile, "%f %s", 3.1416, "PI");
  rewind (pFile);//将文件指针重新指向文件开头
  fscanf (pFile, "%s", str);
  fclose (pFile);
  printf ("I have read: %f and %s \n",f,str);
  return 0;
}
此示例代码创建一个名为myfile.txt的文件,并向其写入一个浮点数和一个字符串。 然后,流被重新卷绕,并且两个值都用fscanf读取。 它最终产生一个类似于:
I have read: 3.141600 and PI

Guess you like

Origin blog.csdn.net/swif_N_F/article/details/78722106