从文本文件里读取数字,c语言如何实现

从文本文件里读取数字,c语言如何实现,第1张

voidmain()

{

FILE*fin

inta,b,c,d

chars[20]

floatf1,f2,f3,f4

fin=fopen("abc.txt","r")//打开

fscanf(fin,"%1d%1d%1d%1d",&a,&b,&c,&d)//按1位整型读前4个数

printf("a=%db=%dc=%dd=%d\n",a,b,c,d)

rewind(fin)//文件回绕到开始处

fscanf(fin,"%s",s)//按字符串读一串

printf("s=%s\n",s)

rewind(fin)//文件回绕到开始处

fscanf(fin,"%1f%1f%1f%1f",&f1,&f2,&f3,&f4)//按1位float型读前4个数

printf("%f%f%f%f\n",f1,f2,f3,f4)

flcose(fin)

}

abc.txt内容:

123456789

读到数组:

inty[20]

inti

fin=fopen("abc.txt","r")

for(i=0i<9i++)fscanf(fin,"%1d",&y[i])

扩展资料

C语言中文件的读取

fopen(打开文件)

相关函数open,fclose

表头文件#include<stdio.h>

定义函数FILE*fopen(constchar*path,constchar*mode)

函数说明参数路径包含包含打开的文件路径和文件名,参数模式字符串则代表着流形态。

模式有以下几种形态类别:

r:预期文件,该文件必须存在

r+:可读写的文件,该文件必须存在。

w:只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

w+:可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

a以附加的方式打开只写文件。若文件不存在,则建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。

括号位置错了,==优先级比=高先执行,如果成功打开文件,fopen返回的不是NULL,所以和NULL比较结果为0,然后fp被赋为0,所以实际上没有读到内容 #include <stdio.h>main() { int achar *iFILE *fpif((fp=fopen("ANT.IN","r"))==NULL)/*这里修改一下*/ { printf("File can not open!") exit(1) } fgets(i,256,fp) fclose(fp)a=atoi(i)printf("%d",a)}

可以通过fscanf,从文件中依次读取数据。

当fscanf返回EOF时,表示读到文件结尾,这时停止读取即可。

以文件中存储的为空格分隔的整型字符为例,可以写作:

while(fscanf(fp,"%d",&n) != EOF)//从打开的文件指针fp指向的文件读数据,每次读一个整型,直至文件结尾。

printf("%d ", n)


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

原文地址: https://outofmemory.cn/tougao/12027745.html

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

发表评论

登录后才能评论

评论列表(0条)

保存