fscanf函数的用法

fscanf函数的用法,第1张

用法:轮或碰int fscanf(FILE*stream,char*format,[argument...])解析:int fscanf(文件指针,格式字符串,输入列表)返回值: 类型是整型,成功读入的参数的个数。新建data.txt文件,存入3组坐标,运行程序并输出结果。

fscanf函数的用法

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

123

123.456

Hello 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读取一个整数

fscanf(fp,"%d",&n)

它的作用是从fp读取一个整数,存入n变量。

你就把它当作scanf("%d",&n)来理解就行了,只不过fscanf(fp,"%d",&n)是从fp文件读取,而scanf("%d",&n)是从键盘前做指读取,除此之外,两个函数是相同。

因为

for(i=0i<3i++) fprintf(fp,"%d",a[i])

将数组a的三个数字依次写入文件fp,并且数慧配字之间没有分胡谨隔符,所以这三个数字会连在一起,也就是123,这样,后面的fscanf()读取时,当然会读取出123这个数字,而不是1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8148988.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存