1. c语言从文件读取数据
四个整型 一个浮点型, 所以 用数组的话 只能是用浮点型数组, 即float a[5];
或者用五个变量, 可以是四个整型,一个浮点型. int a,b,d,e; float c;
打开文件部分相同.
FILE*fp=fopen("input1.txt","r");
读取数据, 数组方式:
inti;floata[5];fscanf(fp,"%f,",&a[0]);for(i=1;i<5;i++)fscanf(fp,"%f",&a[i]);
变量方式:
inta,b,d,e;floatc;fscanf(fp,"%d,%d%f%d%d",&a,&b,&c,&d,&e);
2. c语言怎么把文件中数据读取并存到数组中
使用for循环语句+文件操作函数即可文件中数据读取并存到数组中。
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。一般的C语言教程都有文件操作一章,可以找本教材进一步学习。2、例程:
#include<stdio.h>inti,a[100];intmain(){FILE*fp1=fopen("input.txt","r");//打开输入文件FILE*fp2=fopen("output.txt","w");//打开输出文件if(fp1==NULL||fp2==NULL){//若打开文件失败则退出puts("不能打开文件!");rturn0;}for(i=0;fscanf(fp1,"%d",a+i)!=EOF;i++);//从输入文件连续读取整数到数组afor(;i–;)fscanf(fp2,"%d",a[i]);//把数组a逆序写入到输出文件当中fclose(fp1);//关闭输入文件fclose(fp2);//关闭输出文件,相当于保存return0;}
3. 在C语言中,举例说明如何打开一个文本文件,并读入文件中的数据
1.首先,使用VS构建一个新的空项目,然后直接单击ok。
4. 从文本文件里读取数字,c语言如何实现
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
",a,b,c,d);
rewind(fin);//文件回绕到开始处
fscanf(fin,"%s",s);//按字符串读一串
printf("s=%s
",s);
rewind(fin);//文件回绕到开始处
fscanf(fin,"%1f%1f%1f%1f",&f1,&f2,&f3,&f4);//按1位float型读前4个数
printf("%f%f%f%f
",f1,f2,f3,f4);
flcose(fin);
}
abc.txt内容:
123456789
读到数组:
inty[20];
inti;
fin=fopen("abc.txt","r");
for(i=0;i<9;i++)fscanf(fin,"%1d",&y[i]);
(4)c怎么从文件中读取数据扩展阅读
C语言中文件的读取
fopen(打开文件)
相关函数open,fclose
表头文件#include<stdio.h>
定义函数FILE*fopen(constchar*path,constchar*mode);
函数说明参数路径包含包含打开的文件路径和文件名,参数模式字符串则代表着流形态。
模式有以下几种形态类别:
r:预期文件,该文件必须存在。
r+:可读写的文件,该文件必须存在。
w:只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+:可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a以附加的方式打开只写文件。若文件不存在,则建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
5. 怎样用C语言从txt文件中读入数据
1 以fopen打开文件,使用"r"方式。
2 通过fscanf,按照文件中的数据格式,读入数据。
3 关闭文件并使用数据。
如文件in.txt中存在三个以空格分隔的数据,依次为整型,字符串,以及浮点型,则读取数据的代码可以写作:
intmain(){FILE*fp;inta;chars[100];floatf;fp=fopen("in.txt","r");if(fp==NULL)return-1;//打开文件失败,结束程序。fscanf(fp,"%d%s%f",&a,s,&f);fclose(fp);printf("readvalue:%d,%s,%f",a,s,f);}
6. c语言,怎么从文件读取数据到结构体,求助
C 结构体
实现读取文件并保存到结构体代码:
#include<stdio.h>
#include<stdlib.h>
//文件操作格式化读取保存到结构体数组
#defineBUFSIZE1000
structdata
{
charG[4];
floatXs;//起点坐标
floatYs;
floatE;
};
intmain()
{
FILE*fp;
inti,j,r_n=0;
charbuf[BUFSIZE],c;
//打开文件
fp=fopen("E:\\line.txt","r");
if(fp==NULL)
{
printf("Cannotopenfile!\n");
return1;
}
//计算文件中数据的行数
while(!feof(fp))
{c=fgetc(fp);
if(c=='\n')
r_n++;
}
printf("r_n=%d\n",r_n);
rewind(fp);//将指针重置到第一行
structdata*line1=NULL;
line1=(structdata*)malloc(sizeof(structdata)*(r_n+1));//创建一个结构体含有(r_n+1)个数据
for(i=1;i<=r_n;i++)
{
fgets(buf,BUFSIZE,fp);//一次读取一行
sscanf(buf,"%sX%fY%fE%f",&line1[i].G,&line1[i].Xs,&line1[i].Ys,&line1[i].E);//分别跳过XYE读取数据
}
//关闭文件
fclose(fp);
for(i=1;i<=r_n-1;i++)
{
printf("\n%s%.3f%.3f%.3f",line1[i].G,line1[i].Xs,line1[i].Ys,&line1[i].E);
}
free(line1);//释放
return0;
}
运行效果:
(6)c怎么从文件中读取数据扩展阅读:
函数sscanf(),它是C语言中从一个字符串中读进与指定格式相符的数据的函数。
函数原型:
intsscanf(stringstr,stringfmt,mixedvar1,mixedvar2...);
intscanf(constchar*format[,argument]...);
sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。
其中的format可以是一个或多个{%[*][width][{h|l|I64|L}]type|''|'\t'|'\n'|非%符号}
注:
1、*亦可用于格式中,(即%*d和%*s)加了星号(*)表示跳过此数据不读入.(也就是不把此数据读入参数中)
2、{a|b|c}表示a,b,c中选一,[d],表示可以有d也可以没有d。
3、width表示读取宽度。
4、{h|l|I64|L}:参数的size,通常h表示单字节size,I表示2字节size,L表示4字节size(double例外),l64表示8字节size。
5、type:这就很多了,就是%s,%d之类。
6、特别的:%*[width][{h|l|I64|L}]type表示满足该条件的被过滤掉,不会向目标参数中写入值
支持集合操作:
%[a-z]表示匹配a到z中任意字符,贪婪性(尽可能多的匹配)
%[aB']匹配a、B、'中一员,贪婪性
%[^a]匹配非a的任意字符,贪婪性
7. c语言如何从文件中读入一行数据
关键技巧:每行数据个数随机,可用c=fgetc(fin);ungetc(c,fin);检查是否读到换行符或文件结束符。例如:a.txt1234556678910至于记录每行数据个数,存放到数组,等等,可以自己补充完善。程序:#include<stdio.h>intmain(){file*fin;inta,c;fin=fopen("a.txt","rw");while(1){c=fgetc(fin);if(c==eof)break;if(c=='\n'){printf("\n==========\n");continue;};ungetc(c,fin);fscanf(fin,"%d",&a);printf("%d",a);}fclose(fin);return0;}
8. c语言 怎样用文件中读取数据 然后进行计算
主要通过fscanf,fprintf格式化输入输出函数实现,主要代码如下,#include <stdio.h>int main(int argc, char *argv[]){ FILE *pf=NULL; char name[20];//存储用户名 float salary=0;//存储工资 pf=fopen("test.txt", "r+" );//test.txt文件中内容为kobe 90000.80 if(!pf) { printf("打开文件失败,程序退出!"); exit(1); } fscanf(pf,"%s %f",name,&salary); salary*=0.9;//处理工资,例如扣除五险、扣税等。 fprintf(pf,"\n%f",salary);//写入test.txt文件中 printf("%s %f\n",name,salary);//输出kobe 81000.718750 if(pf)//关闭文件 { fclose( pf); pf=NULL; } return 0;}int fscanf( FILE *stream, const char *format, … );函数fscanf()以scanf()的执行方式从给出的文件流中读取数据,fscanf()的返回值是事实上已赋值的变量的数,如果未进行任何分配时返回EOF。int fprintf( FILE *stream, const char *format, … );fprintf()函数根据指定的format(格式)发送参数到由stream指定的文件。fprintf()只能和printf()一样工作,fprintf()的返回值是输出的字符数,发生错误时返回一个负值。
9. 如何用c语言从txt文件中读取数据
用C语言从txt文件中读取数据,可以使用C标准库文件自带的文件接口函数进行操作。一、打开文件:FILE*fopen(constchar*filename,constchar*mode);因为txt文件为文本文件,所以打开时选择的mode应为"r"或者"rt"。二、读取文件:读取文件应根据文件内容的格式,以及程序要求,选择读取文件的函数。可以使用一种,也可以几种混用。常用的文件读取函数如下:1、fgetc,从文件中读取一个字节并返回。适用于逐个字节读取。2、fgets,从文件中读取一行。适用于整行读取。3、fscanf,格式化读取文件,在已经清楚文件存储格式下,可以直接用fscanf把文件数据读取到对应类型的变量中。4、fread,整块读取文件,对于txt文件比较少用。三、关闭文件:读取结束后,应调用fclose函数关闭文件。
10. C语言怎样将数字从文件里逐个读取出来
可以通过fscanf,从文件中依次读取数据。当fscanf返回EOF时,表示读到文件结尾,这时停止读专取即可。属以文件中存储的为空格分隔的整型字符为例,可以写作:while(fscanf(fp,"%d",&n) != EOF)//从打开的文件指针fp指向的文件读数据,每次读一个整型,直至文件结尾。 printf("%d ", n);