欢迎来到天天文库
浏览记录
ID:51687111
大小:32.19 KB
页数:2页
时间:2020-03-15
《C语言从txt中提取数据.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、#include#include#includeintmain(intargc,char*argv[]){FILE*fp;intflag=0;intlist_line=0,list_row=0;inti=0,j=0;intline_title[50];charc;doublerow_title[10];doublelist_data[50][10];if((fp=fopen("E:\Study\t_distribution.txt","r"))==NUL
2、L)//C语言中文件路径索引是双斜杠{printf("Can'topenthatfile!");exit(1);}//通过对每个字符的判断来达到对几乎任何排列比较规整的txt表格书写格式的数据读取//最主要依靠的是fscanf对数据类型格式的自动判断while(!feof(fp)){fscanf(fp,"%c",&c);//若对文档全部进行字符输出,可观察到数据、空格、tab、以及回车之间的相对位置//有利于理解文件的数据流if(c>=48&&c<=57){if(!flag){fseek(fp,-1,SEEK_
3、CUR);//因为在读完一个字符c用于判断是否是ASCII中阿拉伯数字范围后//文件指针已处于当前double数的第一位有效数字上,若在此位读取fp,//则读不到此位(因为fp从下一个点开始读);所以用fseek回溯一个字符长度//弥补之前的字符判断动作造成的fp移动fscanf(fp,"%lf",&row_title[list_row]);list_row++;}else{fseek(fp,-1,SEEK_CUR);fscanf(fp,"%lf",&list_data[i][j]);//printf("%lf
4、",list_data[i][j]);j++;}}if(c==10){fscanf(fp,"%d",&line_title[list_line]);list_line++;i++;j=0;flag=1;}}for(i=1;i<=list_line;i++)//从i=1开始{//都是细节问题,这是由上面的程序决定的for(j=0;j5、turn0;}
5、turn0;}
此文档下载收益归作者所有