102. Parse GPS String for Time and Coordinates

Back To All Submissions
Previous Submission
Next Submission

Code

#include <stdio.h>
#include <string.h>
#include <stdint.h>

void parse_gprmc(char *nmea) {
    // Your logic here
    char unkn[10]={0};
    unsigned int time = 0;
    char status[2]={0};
    char lati [10]={0};
    char longi[10]={0};
    char dir_NS[2]={0};
    char dir_ES[2]={0};
    sscanf(nmea,"%[^,],%u,%[^,],%[^,],%[^,],%[^,],%[^,]",unkn,&time,status,lati,dir_NS,longi,dir_ES);
    printf("Time: %02u:%02u:%02u\n",time/10000,(time/100)%100,time%100);
    printf("Latitude: %s %s\n",lati,dir_NS);
    printf("Longitude: %s %s\n",longi,dir_ES);
}

int main() {
    char nmea[100];
    fgets(nmea, sizeof(nmea), stdin);
    parse_gprmc(nmea);
    return 0;
}

Solving Approach

 

 

 

Was this helpful?
Upvote
Downvote