#include <stdio.h>
#include <string.h>
void parse_gprmc(char *nmea) {
// Your logic here
char timer[15] = "";
char lat[15] = "";
char ns[2] = "";
char lon[15] = "";
char ew[2] = "";
char *token;
token = strtok(nmea,",");
token = strtok(NULL, ",");
if (token != NULL){
strcpy(timer, token);
}
token = strtok(NULL, ",");
token = strtok(NULL, ",");
if (token != NULL){
strcpy(lat, token);
}
token = strtok(NULL, ",");
if (token != NULL){
strcpy(ns, token);
}
token = strtok(NULL, ",");
if (token != NULL){
strcpy(lon, token);
}
token = strtok(NULL, ",");
if (token != NULL){
strcpy(ew, token);
}
printf ("Time: %c%c:%c%c:%c%c\n", timer[0], timer[1], timer[2], timer[3], timer[4], timer[5]);
printf ("Latitude: %s %s\n", lat, ns);
printf ("Longitude: %s %s", lon, ew);
}
int main() {
char nmea[100];
fgets(nmea, sizeof(nmea), stdin);
parse_gprmc(nmea);
return 0;
}
Input
$GPRMC,123519,A,4807.038,N,01131.000,E
Expected Output
Time: 12:35:19 Latitude: 4807.038 N Longitude: 01131.000 E