#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
}
}
权威《unix网络编程》。做这个事情大概分这么几步。
一:gps设备先通过某种手段上网(可以是拨号上网,wifi。。。。)
二:gps设备向服务器(就是你运行程序的机器)申请连接。可以用域名或者IP找到你的服务器。
三:服务洞庆器接受连接。
四:坦困你跟这个gps设备提前预定好。你们的通信形式。
常用的大概也就是,一问一答。你可以通过tcp连接发请求指令给设备,设备收到以后给你回纳信握复。然后你只要分析回复指令就就行了。
具体怎么监听连接,怎么收发。书上说的很清楚。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)