C实现GPS定位查找并返回地址

一·题目要求
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,,,A75GNVTG,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];
}

}

三、程序运行结果
程序运行结果

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PetterMiaoer

感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值