reading sd file line by line, intersected with "code"

in the void readSD

You'd sound less like a clueless-newbie if you wrote "in the readSD() function"!

i need to have to myFile.read converted to a char*

Why? The read() method returns ONE character. Why do you need a pointer to point to one character?

      readCode(myFile.read());

You are passing ONE character to this function...

  valPosition = strtok(instring, delimiters);

It does not make sense to parse ONE character.

The delimiters are NOT space, x, H, space, y, H, space, z, H, space, J, and space.

The delimiters ARE space.

You need to decide what to do when the token is "xH", "yH", "zH", "J", or a string representing a numeric value.

Why are you sending the 'H's anyway?

  char* valPosition;
  
  //This initializes strtok with our string to tokenize
  valPosition = strtok(instring, delimiters);

There is NO advantage in using two lines of code to accomplish this.

  //This initializes strtok with our string to tokenize
  char *valPosition = strtok(instring, delimiters);

The * can be put with the type OR with the variable. The reason for putting it with the variable is that it clearly indicates that the variable is a pointer.

   char *ptr, notPtr;

declares two variables - only one of which is a pointer.

   char* ptr, notPtr;

also declares two variables - only one of which is a pointer, but it is harder to see that the type of the second variable is not a pointer.

   char *ptr, *pAnotherPointer;

declares two variables - both of which are pointers.