C语言编程:GPS数据处理

C语言编程:GPS数据处理,第1张

这是通过online judge测试的

#include<高弊stdio.h>

#include <stdlib.h>

#include<string.h>

int check(char *)

void utc(char *)

char bjtime[7]

int main()

{

char a[200]

int f=0

char *ptr

do

{

scanf("%s",a)

if(strncmp("$GPRMC",a,6)==0)

{

ptr=a

for(int i=0i<2i++){

ptr=strchr(ptr,',')

ptr++

}

if (ptr[0]=='A' &&check(a))

{

utc(a)

f=1

}

}

}while(strcmp("END"裂念差,a)!=0)

if (f) printf("%c%c:%c%c:%c%c",bjtime[0],bjtime[1],bjtime[2],bjtime[3],bjtime[4],bjtime[5])

return 0

}

int check(char *s)

{

char *ck,*str

int i

char m=s[1]

for(i=2i<strlen(s)-3i++)

m^=s[i]

int z=(int)m%65536

printf("%0x",z)

ck=&s[strlen(s)-2]

int x=strtol(ck,&str,16)

if(x==z) return 1

else return 0

}

void utc(char * s)

{

char *str1

char str[7]

str1=&s[7]

strncpy(bjtime,str1,6)

int x=strtol(bjtime,&str1,10)

x+=80000

x%=240000

for(int i=5i>=0i--){

bjtime[i]=(char)((int)'0'+x%10)

x/肆皮=10

}

}

3559.10468,N,12009.46619,E

N/桥拆嫌S(北纬或南御咐纬):北纬35 度59.10468 分;

E/W(东经或西经):东经120 度9.46619 分;

纬度(格式ddmm.mmmm:即dd 度,mm.mmmm 分);

经度(格敏手式dddmm.mmmm:即ddd 度,mm.mmmm 分);

list和字符串 *** 作就不写了吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12509845.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存