您的位置首页百科知识

fscanf函数的用法

fscanf函数的用法

的有关信息介绍如下:

fscanf函数的用法

fscanf是C语言最基本的格式化输入函数之一,它和scanf都属于可变参数函数,但不同于scanf,它可以指定输入的缓存文件的,在stdio.h完整的声明形式为:

int __cdecl fscanf(FILE * __restrict__ _File,const char * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;

其中第一个参数_File文件对象的标识流的指针,当其值为stdin时功能相当于scanf。

第二个参数_Format格式化输入字符串,后面跟随需要接收输入的变量地址。

fscanf第一个参数需要一个文件指针,为了查看实验效果,这里先新建一个名为test.txt的文本文件,放在源代码的文件夹,输入如下内容:

123123.456Hello world !

要对文件操作,必须将该文件打开:

fp = fopen("test.txt", "r");

同时使用完毕后不要忘记使用fclose关闭文件。

test.txt第一行保存的是一个整数,所以可以使用fscanf先读取一个整数:

fscanf(fp, "%d", &num);

test.txt第二行保存了一个浮点数,按照浮点数的格式进行读取:

fscanf(fp, "%f", &fNum);

需要注意的是,由于浮点数位于第二行,所以要想读取这个浮点数,应当先把第一个数读完,否则读取的回事123.000000

同样可以使用类似的方法读取位于第三行的字符串:

fscanf(fp, "%s", str);

但是,从程序的运行结果发现,第三行存储的是Hello world !,而实际运行结果只有“Hello”,这表明fscanf遇到空格会终止本次读操作。

当将fscanf第一个参数设定为stdin时,将实现和scanf函数相同的效果:

fp = stdin;//设置fp为标准输入 fscanf(fp, "%d", &num);//从fp读取一个整数

1、fscanf第一个参数传入的必须是FILE指针,这个文件可以使一般的文档,也可以是设备。

2、从文件中读取时需要先打开文件。

3、从文件中读取数字或字符串时,应注意被读取内容的位置。

4、fscanf遇到空格会结束一次读操作。

5、当fscanf第一个参数设置为stdin时可以实现scanf相同的效果。