基于C语言的NMEA-0183解析程序(五)
程序员文章站
2022-07-12 21:56:16
...
实现基于输入的筛选条件,自定义格式化输出信息
#ifndef _PRINTOUT_H_
#define _PRINTOUT_H_
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#include"Type.h"
/******************************************************************************
* Function - Printout analyse message
*
* Purpose - 格式输出解析信息
*
* Description -
*
* modification history
* ----------------------------------------
* v1.0 , 2018-12-12, zhanglixv written
* ----------------------------------------
******************************************************************************/
void printout(Nmea_msg *res, int s_n,FILE *fp)
{
int k;
static int serial = 0;/*输出序号计数*/
char node1[3];
char node2[3];
char temp[85]=" ";
char a[]="[";
char b[]="]";
char c[]=" ";
serial++;
fprintf(fp,"%d %d-%d-%d %d:%d:%d %c %f %c %f %c %f %d",\
serial,res->utc.year,res->utc.month,res->utc.date,res->utc.hour,res->utc.mint,res->utc.sec,\
res->avhemi,res->longitude,res->ewhemi,res->latitude,res->nshemi,res->speed,res->svnum);
for(k=0;k<(res->svnum);k++)
{
if(((res->slmsg[k].sn) != 0) && ((res->slmsg[k].sn) >= s_n))/*无信号不输出*/
{
itoa((res->slmsg[k].num),node1,10);/*按十进制进行整型转字符串,itoa函数使用的内存内容于下次调用时会清空*/
strcat(temp,node1);/*strcpy与strcat的区别*/
strcat(temp,a);
itoa((res->slmsg[k].sn),node2,10);
strcat(temp,node2);
strcat(temp,b);
strcat(temp,c);
}
}
fprintf(fp,"%s\n",temp);
}
#endif // _PRINTOUT_H_
上一篇: NMEA报文解析程序(c语言)-命令解析
下一篇: 台风报文解析