#include <stdio.h>
#include <string.h>
void parse_gprmc(char *nmea) {
// Your logic here
int i, j;
char time[50], lat[50], lon[50];
for(i = 7, j = 0; nmea[i] != ','; i++, j++) {
if(j == 2 || j == 5) {
time[j] = ':';
i--;
}
else {
time[j] = nmea[i];
}
}
time[j] = '\0';
for(i = 16, j = 0; nmea[i] != ','; i++, j++) {
lat[j] = nmea[i];
}
lat[j] = '\0';
for(i = 27, j = 0; nmea[i] != ',';i++, j++) {
lon[j] = nmea[i];
}
lon[j] = '\0';
printf("Time: %s\nLatitude: %s %c\nLongitude: %s %c\n",time,lat,nmea[25],lon,nmea[37]);
}
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