求助帖!在gps数据的提取中 VC编译能够通过.GCC就不行 希望有人帮忙 发代码
#include <stdio.h>#include <stdlib.h>
#include <string.h>
#include <gpsmes.h>
int gps_mes_process(char * buff)
{
int i=0;
//GPRMC&A////
if((*(buff+i)=='$') &&(*(buff+i+1)=='G') && (*(buff+i+2)=='P') &&(*(buff+i+3)=='R') &&(*(buff+i+4)=='M') &&(*(buff+i+5)=='C') &&(*(buff+i+18)=='A'))//
{
while((*(buff+i))!=',') i++; //查逗号
i++;
sscanf((buff+i),"%2d,%2d,%2d",&gpsmes1.h,&gpsmes1.m,&gpsmes1.s);
while((*(buff+i))!=',') i++; //查逗号
i++; //已到数据位
//跳过已判定
while((*(buff+i))!=',') i++; //鏌?閫楀彿
i++; //已到数据位
//绾害ddmm.mmmm 9
sscanf((buff+i),"%f",&gpsmes1.latitude);
while((*(buff+i))!=',') i++; //查逗号
i++; //已到数据位
gpsmes1.part_la=(*(buff+i)); // N orS
while((*(buff+i))!=',') i++; //查逗号
i++; //已到数据位
//longitudeddmm.mmmm 9
sscanf((buff+i),"%f",gpsmes1.longitude);
while((*(buff+i))!=',') i++; //查逗号
i++; //已到数据位
gpsmes1.part_lo=(*(buff+i)); //E or W
while((*(buff+i))!=',') i++; //查逗号
i++; //已到数据位
sscanf((buff+i),"%f",gpsmes1.speed);
i++;
sscanf((buff+i),"%f",gpsmes1.angle);
while((*(buff+i))!=',') i++; //查逗号
i++; //已到数据位
//date
sscanf((buff+i),"%2d,%2d,%2d",&gpsmes1.h,&gpsmes1.m,&gpsmes1.s);
}
///////GPGGA//////
else if((*(buff+i)=='$') &&(*(buff+i+1)=='G')&&(*(buff+i+2)=='P')&& (*(buff+i+3)=='G')&&(*(buff+i+4)=='G')&&(*(buff+i+5)=='A'))
{
while((*(buff+i))!=',')i++; //查逗号
i++; //已到数据位
//UTC hhmmss
sscanf((buff+i),"%2d,%2d,%2d",&gpsmes1.h,&gpsmes1.m,&gpsmes1.s);
while((*(buff+i))!=',')i++; //查逗号
i++; //已到数据位
//latitudeddmm.mmmm
sscanf((buff+i),"%f",&gpsmes1.latitude);
while((*(buff+i))!=',')i++; //查逗号
i++; //已到数据位
gpsmes1.part_la=(*(buff+i)); // N or S
while((*(buff+i))!=',')i++; //查逗号
i++; //已到数据位
//longitudeddmm.mmmm 9
sscanf((buff+i),"%f",&gpsmes1.longitude);
}
}
//if(gpsmes2.flag==0)gpsmes2=gpsmes1;
return 0;
}
下面是gpsmes.h的内容
//////////////////////////
// //
//// gps 数据结构体///
// //
//////////////////////
int gps_mes_process(char * buff)
struct gps_mes
{
int flag; //是否使用过该数据
int h,m,s;
char part_la,part_lo;
float latitude;
float longitude;
floatspeed;
floatangle;
} gpsmes1,gpsmes2; 求大师指点! 报什么错? 说出来讨论。
页:
[1]