如何用c语言把txt数据导入,然后比较里面数据的大小

如题所述

我觉得你txt文件里面就是一大串数据,先将它读到一个unsigned char的数组里面,再编一个接口函数将这些数据按你在txt里面存储的格式解析出来,存放到另外一个数据数组里面,那么后面的事情就简单了。
如果当时txt数据的存储也 是你实现的话,那么当时定义好的数组(或结构体),按连续字节存储进去到txt文件,那么用同样的这个格式的数组(或结构体)取出,直接使用就好了,也不用解析这些数据了。
比如你的数据当时都存在这个数组里面
float a[1000];
存储的时候将它转换成字节串的形式,强制转换即可,(unsigned char*)a,这样写文件,当然写的字节数是1000*sizeof(float)
读的时候反过来,一切都ok了追问

能写下程序吗,我对数组这些不是太了解,这些数据是xy坐标,我希望找出xy的极值

追答

你这个是需要进行数据解析的,因为是现成的txt数据,你解析的方式一个是查','来区分前后xy的坐标数据,一个是查回车来得到下一个数据。最后是将字符串数据转换成浮点数。
这个解析函数我不帮你写了,至于读取文件数据那比较简单的,我是用vc写的,用的是cfile
void CPara::ParameterLoad()
{
CFile CfgPara;
CfgPara.Open("config.data", CFile::modeNoTruncate | CFile::modeCreate | CFile::modeReadWrite, NULL);

unsigned char xxxx[1024];
CfgPara.Read((void*)&xxxx, sizeof(xxxx));
//再调用解析函数即可

CfgPara.Close();
}

但是我的意见是与其如此还不如直接导入到excel里面,再用excel自带的函数直接查找极值,比你写程序要简单多了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-07
先定义一个文件指针,结构体(具体怎么定义,要看你的数据形式)。然后用fscanf将txt中的数据取出到结构体,再在结构体中进行比较(这应该会)。最后结果就出来了。追问

能具体点吗,我的数据就是一些数字

追答

思路和流程是这样,具体要拿到你的题目和数据才好写,整个代码估计不超过50行。
取数据用fscanf取。

追问

    就是这样的数据,我简单的用fscanf读取数据后,怎么读取的和我文件中的数据不一样,是一个几十位的数,谢谢

追答

用循环来读。
定义一个结构体。
struct txt [100]{
double x;
double y;
}

txt文本中的第一行(curve)单独读

读数据要多尝试几遍,

第2个回答  2013-08-07
使用fget()函数得到数据
相似回答