#include <stdio.h>
#include <string.h>
void parse_gprmc(char *nmea) {
// Your logic here
char data[7][10];
int x =0;
int y =0;
while(!(*nmea=='\0')){
if (!(*nmea==',')){
data[x][y] = *nmea;
y++;
}
else { //delimiter
data[x][y] == '\0';
x++;
y=0;
}
nmea++;
}
//last delimiter
data[x][y] = '\0';
printf("Time: %.2s:%.2s:%.2s\n",(char*)(data[1]),(char*)(data[1]+2),(char*)(data[1]+4));
printf("Latitude: %s %.1s\n",data[3],data[4]);
printf("Longitude: %s %.1s\n",data[5],data[6]);
}
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