#include <stdio.h>
#include <string.h>
void parse_gprmc(char *nmea) {
// Your logic here
char data[7][20]={0};
int read = 0;
int row = 0 ;
int col = 0;
while(nmea[read])
{
if(nmea[read] != ',')
{
data[row][col]=nmea[read];
col++;
}
else
{
data[row][col] = '\0';
col = 0;
row++;
}
read++;
}
printf("Time: ");
for(int i = 0 ;i < strlen(data[1]); i++)
{
printf("%c",data[1][i]);
if(i % 2 != 0 && i < strlen(data[1])-1)
{
printf(":");
}
}
printf("\n");
printf("Latitude: %s %s\n",data[3],data[4]);
printf("Longitude: %s %s\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