作者微信 bishe2022

代码功能演示视频在页面下方,请先观看;如需定制开发,联系页面右侧客服

   【实例描述】为了使用MATLAB分析处理降水现象仪的输出数据,必须把降水现像仪的原始输出数据格式变更为MATLAB可以处理的格式。由于数据量大,使用C语言处理速度较快。


   【实例详情】

#include <stdio.h>


#include <stdlib.h>


#include <string.h>


int main(void)

{

FILE *fp = NULL;

FILE *fout = NULL;

char strinput[4101];

char stroutput[5121];

int linenumber = 0;

int space = 0;

int semi = 0;

int charspace =0;

fp = fopen("aaa.txt", "r");

if(NULL == fp)

{

printf("open input file error\n");

return -1;

}

else

{

fout = fopen("./bbb.txt", "a+");

if(NULL == fout)

{

printf("can't create output file\n");

return -1;

}

else

{

while(fgets(strinput,4101, fp) != NULL)

{

//printf(strinput);

//system("pause");

//if((strinput[4101] != ' ') || ((strinput[4101]) != '\n') || ((strinput[4101]) != ' '))

if((int)strlen(strinput) == 4100)

{

while(strinput[space+4])

{

stroutput[charspace] = strinput[space+4];

charspace++;

space++;

             if((charspace+1) % 5 == 0)

{

if((semi+1) % 32 == 0)

{

stroutput[charspace] = ';';

}

else

{

stroutput[charspace] = ' ';

}

charspace++;

semi++;

}

}

space = 0;

                 semi = 0;

                 charspace =0;

fputs(stroutput, fout);

        fputc('\n',fout);

//fseek(fp,(linenumber+1) * 5500L, SEEK_SET);

fseek(fout, (linenumber+1)* strlen(stroutput), SEEK_SET);

linenumber++;

                //fgets(strinput,5125, fp);

               // fflush(fp);

                //printf(stroutput);

//system("pause");

}

}

fclose(fout);

}

fclose(fp);

}

}



image.png


   【实例截图】

降水现象仪输出的数据:

image.png

经过处理后的数据:

image.png

Home