#include <stdio.h>
#include <string.h>
void parse_gprmc(char *nmea)
{
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