#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; }
Test Cases
Test Results
Input
$GPRMC,123519,A,4807.038,N,01131.000,E
Expected Output
Time: 12:35:19 Latitude: 4807.038 N Longitude: 01131.000 E