gpgll.c
来自「无限网卡测试工具」· C语言 代码 · 共 56 行
C
56 行
#include <stdlib.h>#include <string.h>#include "gpgll.h"#include "sentences.h"#define SENTENCE_HEAD 0#define LATITUDE 1#define NORTH_SOUTH 2 #define LONGITUDE 3#define WEST_EAST 4#define N_GPGLL_FIELDS 5gps_gpgll * gps_gpgll_new(void){ gps_gpgll * foo = (gps_gpgll*)calloc(1, sizeof(gps_gpgll)); return foo;}void gps_gpgll_delete(gps_gpgll ** dead){ free(*dead); *dead = NULL;}intparse_gpgll(const char * sentence, gps_gpgll * out){ const char *fields[N_GPGLL_FIELDS]; char * copy = strdup(sentence); sentence_parse(copy, fields, N_GPGLL_FIELDS); { int degrees; float minutes; parse_latlong(fields[LONGITUDE], °rees, &minutes); out->longitude.degrees = degrees; out->longitude.minutes = minutes; out->longitude.dir = string_to_direction(fields[WEST_EAST]); parse_latlong(fields[LATITUDE], °rees, &minutes); out->latitude.degrees = degrees; out->latitude.minutes = minutes; out->latitude.dir = string_to_direction(fields[NORTH_SOUTH]); } free(copy); return 1;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?