一·题目要求
const char input[1024] ="$GNGGA,084852.000,2236.9453,N,11408.4790,E,1,05,3.1,89.7,M,0.0,M,48 $GNGLL,2236.9453,N,11408.4790,E,084852.000,A,A4C $GPGSA,A,3,10,18,31,6.3,3.1,5.43E $BDGSA,A,3,06,07,6.3,3.1,5.424 $GPGSV,3,1,09,10,78,325,24,12,36,064,14,26,307,18,67,146,2771 $GPGSV,3,2,09,21,15,188,24,13,043,25,55,119,31,36,247,307F $GPGSV,3,3,09,32,42,334,43 $BDGSV,1,1,02,06,68,055,27,07,82,211,316A
G
N
R
M
C
,
084852.000
,
A
,
2236.9453
,
N
,
11408.4790
,
E
,
0.53
,
292.44
,
141216
,
,
,
A
∗
75
GNRMC,084852.000,A,2236.9453,N,11408.4790,E,0.53,292.44,141216,,,A*7 5
GNRMC,084852.000,A,2236.9453,N,11408.4790,E,0.53,292.44,141216,,,A∗75GNVTG,292.44,T,M,0.53,N,0.98,K,A2D $GNZDA,084852.000,14,12,2016,00,0048 $GPTXT,01,01,01,ANTENNA OK*35";
查找定位位置:
二、关键代码
int location_str(const char *s1,const char *s2)
{
int i,j;
int s1_len;
int s2_len;
s1_len = strlen(s1);
s2_len = strlen(s2);
for(i = 0; i < s1_len; i++)
{
int n = i;
int num = 0;
for(j = 0; j < s2_len; j++)
{
if(s1[n] == s2[j])
{
n = n+1;
num++;
}
}
if(num == s2_len-1)
return n;
}
return 0;
}
int location_A_N_E(const char *s1,const char c, int index)
{
int s1_len;
s1_len = strlen(s1);
int i = 0;
for(i = index;i < s1_len; i++)
{
if( c == s1[i])
{
printf(“Index of A_N_E is:%d\n”,i);
return i;
}
}
}
char print_latitude(const char *s1,int index_forword,int index_behend,char *array)
{
int i = 0,j = 0;
for(i = index_forword+2;i < index_behend-1; i++)
{
array[j++] = s1[i];
}
}
三、程序运行结果