#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; }
Test Cases
Test Results
Input
$GPRMC,123519,A,4807.038,N,01131.000,E
Expected Output
Time: 12:35:19 Latitude: 4807.038 N Longitude: 01131.000 E