fscanf函数是C语言中用于从文件中读取格式化数据的函数。其函数原型为:
int fscanf(FILE *stream, const char *format, ...)
其中,stream是指向要读取的文件的指针;format是一个字符串,指定了读取数据的格式;…表示可变参数,用于接收读取到的数据。
fscanf函数根据format字符串中的格式控制符,从文件中读取数据,并将读取到的数据按照相应的类型存储到对应的变量中。常用的格式控制符包括:
例如,以下代码从文件中读取一个整型数值并存储到变量num中:
int num;
FILE *fp;
fp = fopen("file.txt", "r");
fscanf(fp, "%d", &num);
fclose(fp);
注意,fscanf函数在读取数据时会跳过空白字符(空格、制表符、换行符等),直到找到非空白字符为止。另外,fscanf函数返回成功读取的参数个数,如果读取失败(文件结束或格式不匹配等),则返回EOF(-1)。
需要注意的是,使用fscanf函数时应确保文件已经成功打开,并在读取完数据后及时关闭文件,以免造成文件资源的浪费或数据不一致的问题。