#include <stdio.h>
#include <string.h>
void parse_gprmc(char *nmea) {
int i = 0;
int field = 0;
int lengths[7];
int starts[7];
starts[field] = 0;
while(nmea[i] != '\0' && field < 7) {
if (nmea[i] == ',')
{
lengths[field] = i - starts[field];
field++;
starts[field] = i + 1;
}
i++;
}
lengths[field] = i - starts[field];
char * time = &nmea[starts[1]];
char * lat = &nmea[starts[3]];
char * ns = &nmea[starts[4]];
char * lon = &nmea[starts[5]];
char * ew = &nmea[starts[6]];
printf("Time: %.2s:%.2s:%.2s\n", time, time + 2, time + 4); //.2s --> Print 2 characters starting from address s
printf("Latitude: %.*s %.*s\n", lengths[3], lat, lengths[4], ns); // .*s --> Print a specified amount of chars starting from s
printf("Longitude: %.*s %.*s\n", lengths[5], lon, lengths[6], ew);
}
int main() {
char nmea[100];
fgets(nmea, sizeof(nmea), stdin);
parse_gprmc(nmea);
return 0;
}