#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define HEAD 128
#define H_CSP 1 //第二个数据定义炮号
#define H_DeltaT 8 //第九个数据定义的采样间隔
#define H_Time 9 //第十个数据为炮集记录的时间长度
#define H_PStake 17
#define H_SStake 20
#define points 108576 //每一道的采样点数
#define ROW 1
int main(void)
{
FILE *fp,*fpick;
int i,j,count;
int k=1;
float buffer[110000];
fp=fopen("wavelet.dat","rb");
fpick=fopen("part_file.dat","wb");
if(fpick==NULL)
{
printf("an error to open the file %s\n","part_file");
exit(0);
}
if(fp==NULL)
{
printf("an error to open the file !");
exit(0);
}
else
count=0;
for(i=0;i<points;i++)
fread(&buffer[i],sizeof(float),1,fp);
//fwrite(&buffer[j][i],sizeof(float),points,fpick); //样点数据写回到文件part_file.dat
//////以文本方式写入文件part_file.dat//////
for(i=0; i<points; i++)
/*for(i=0;i<points;i++)
{
fprintf(fpick," %15f",buffer[i]);
}
*/
/*for(i=0;i<points;i++)
{
fwrite(&buffer[i],sizeof(float),1,fpick);
}
*/
for(i=0;i<points;i++)
{
if(buffer[i+1]!=buffer[i])
{
fwrite(&buffer[i],sizeof(float),1,fpick);/////压缩后数据写入文件fp1
//fwrite(&k,sizeof(int),1,fpick);
k=1;
}
else k++;
}
fclose(fp);
fclose(fpick);
system("PAUSE");
return 0;
}