latitude,longitude extract from GPS data in MPLAB XC8 compiler
You can always make your own strTok like function and parse the string manually:

uint8_t *findNextSeperator(uint8_t *startPoint) {
  while ((*startPoint != ',') &amp;&amp; (*startPoint != '*') &amp;&amp; (*startPoint != '\n'))
    startPoint++;
  return startPoint;
}

{
...
// dummy sample string...
uint8_t str[] = "$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47\n";

uint8_t *tmpPtr = str; // begin at the beginning

tmpPtr = findNextSeperator(tmpPtr); // the , before time
tmpPtr = findNextSeperator(tmpPtr+1); // the , before lat

uint8_t *latPtr = tmpPtr + 1; // the first character in the latitude string

tmpPtr = findNextSeperator(tmpPtr+1); // the , before N
*tmpPtr = 0; // null terminate the latitude string

uint8_t latDir = *(tmpPtr + 1); // store the direction of the latitude

tmpPtr = findNextSeperator(tmpPtr+1); // the , before lon
uint8_t *lonPtr = tmpPtr + 1; // the first character in the longitude

tmpPtr = findNextSeperator(tmpPtr+1); // the , before E
*tmpPtr = 0; // null terminate the longitude

uint8_t lonDir = *(tmpPtr + 1); // store the direction of the longitude
...
}