#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,EN/桥拆嫌S(北纬或南御咐纬):北纬35 度59.10468 分;
E/W(东经或西经):东经120 度9.46619 分;
纬度(格式ddmm.mmmm:即dd 度,mm.mmmm 分);
经度(格敏手式dddmm.mmmm:即ddd 度,mm.mmmm 分);
list和字符串 *** 作就不写了吧。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)