#include <stdio.h>
#include <string.h>
void parse_gprmc(char *a)
{
char *data_tokens[7];
int k=0;
char *token=strtok(a,",");
while(token)
{
data_tokens[k++]=token;
token=strtok(NULL,",");
}
//To print Time: The way to identify this formatting is turning point of solving the problem.
printf("Time: %.2s:%.2s:%.2s\n",data_tokens[1],data_tokens[1]+2,data_tokens[1]+4);
//To print Latitude:
printf("Latitude: %s %s\n",data_tokens[3],data_tokens[4]);
//To print Longitude
printf("Longitude: %s %s\n",data_tokens[5],data_tokens[6]);
}
int main() {
char a[100];
fgets(a, sizeof(a), stdin);
parse_gprmc(a);
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