C语言文本文件的读写
如下数据保存在文件infile.dat中.我想把它读出来,存到结构体数组中stuctpro{floatmsl;floatla,lo;doublerefractivity,...
如下数据保存在文件infile.dat中.我想把它读出来,存到结构体数组中
stuct pro
{float msl;
float la,lo;
double refractivity,density,pressure;
float temp;
}atm[200];
然后把数据写到out.txt中.
请问高手,具体该怎么做呢?如果可以的话,希望能有一个完整的C程序.如果能发到我的邮箱就更好了. EMAIL:xiongbo595@163.com
还有点小问题,美中不足.
1.如果要自己控制换行,比如图片中有7列数据,我只想要前四列,如何让它在读完四个数之后自动换行读下一行的数?
2.这样的文件有N个,且文件名没有规律.如何利用文件名做索引,将它们都用这个程序处理了?
3.每个文件中的数据行数不确定,是否要用到链表处理呢?
如果您觉得问题太多了,只回答3和4或者只回答3也可以,先谢谢诸位了! 展开
stuct pro
{float msl;
float la,lo;
double refractivity,density,pressure;
float temp;
}atm[200];
然后把数据写到out.txt中.
请问高手,具体该怎么做呢?如果可以的话,希望能有一个完整的C程序.如果能发到我的邮箱就更好了. EMAIL:xiongbo595@163.com
还有点小问题,美中不足.
1.如果要自己控制换行,比如图片中有7列数据,我只想要前四列,如何让它在读完四个数之后自动换行读下一行的数?
2.这样的文件有N个,且文件名没有规律.如何利用文件名做索引,将它们都用这个程序处理了?
3.每个文件中的数据行数不确定,是否要用到链表处理呢?
如果您觉得问题太多了,只回答3和4或者只回答3也可以,先谢谢诸位了! 展开
3个回答
2010-04-26
展开全部
//---------------------------------------------------------------------------
#include <stdio.h>
struct pro
{float msl;
float la,lo;
double refractivity,density,pressure;
float temp;
}atm[200];
int main(void)
{
FILE *fp=fopen("infile.dat","r"),*fp2=NULL;
int i;
if (!fp||(fp2=fopen("out.txt","w"))==NULL) {
fprintf(stderr,"FILE ERROR");
return -1;
}
for (i = 0; i<200; i++) {
/*从infile.dat文件读取数据*/
fscanf(fp,"%f%f%f%lf%lf%lf%f",&atm[i].msl,&atm[i].la,&atm[i].lo,&atm[i].refractivity,&atm[i].density,&atm[i].pressure,&atm[i].temp);
/*将数据写到out.txt文件*/
fprintf(fp,"%f\t%f\t%f\t%lf\t%lf\t%lf\t%f\n",atm[i].msl,atm[i].la,atm[i].lo,atm[i].refractivity,atm[i].density,atm[i].pressure,atm[i].temp);
}
fclose(fp);
fclose(fp2);
return 0;
}
//---------------------------------------------------------------------------
#include <stdio.h>
struct pro
{float msl;
float la,lo;
double refractivity,density,pressure;
float temp;
}atm[200];
int main(void)
{
FILE *fp=fopen("infile.dat","r"),*fp2=NULL;
int i;
if (!fp||(fp2=fopen("out.txt","w"))==NULL) {
fprintf(stderr,"FILE ERROR");
return -1;
}
for (i = 0; i<200; i++) {
/*从infile.dat文件读取数据*/
fscanf(fp,"%f%f%f%lf%lf%lf%f",&atm[i].msl,&atm[i].la,&atm[i].lo,&atm[i].refractivity,&atm[i].density,&atm[i].pressure,&atm[i].temp);
/*将数据写到out.txt文件*/
fprintf(fp,"%f\t%f\t%f\t%lf\t%lf\t%lf\t%f\n",atm[i].msl,atm[i].la,atm[i].lo,atm[i].refractivity,atm[i].density,atm[i].pressure,atm[i].temp);
}
fclose(fp);
fclose(fp2);
return 0;
}
//---------------------------------------------------------------------------
展开全部
infile.dat 里的数据是用什么格式存储的?
我的意思是,其中数据的存储顺序....
我的意思是,其中数据的存储顺序....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你那都转换成字符串了,要把数据读出来的话,得自己写一个识别函数,将字符串转换成相应类型的数,很麻烦的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询