Problem in copying char array to another char matrix array

Hey there, i'm trying to copy char values into a char matrix, but i don't know why i'm having a strange result.
The reason of this, it's because i need a matrix to have all the values associated to a trayectory mission.
Here's the code:

char matrixMision[20][7][8];
int auxMision;
boolean listo = false;
void setup() {
  Serial.begin(9600);
}

void newMision(int auxMision, float latitud, float longitud){
  char numObjetivo[3];
  String str = String(auxMision);
  str.toCharArray(numObjetivo, 3);
  strcpy(matrixMision[auxMision - 1][0], numObjetivo);
  char estado[2];
  estado[0] = 'P'; //default
  estado[1] = '\0';
  strcpy(matrixMision[auxMision - 1][1], estado);
  char latitudObjetivo[9];
  str = String(latitud ,4); //4 digits of precision
  str.toCharArray(latitudObjetivo, 9);
  strcpy(matrixMision[auxMision - 1][2], latitudObjetivo);
  char longitudObjetivo[9];
  str = String(longitud, 4); //4 digits of precision
  str.toCharArray(longitudObjetivo, 9);
  strcpy(matrixMision[auxMision - 1][3], longitudObjetivo);
  listo = true;
}

void printMatriz(int auxiliar){
  for(int i = 0 ; i < auxiliar ; i++){
    for(int j = 0 ; j < 7 ; j++){
      Serial.print(matrixMision[i][j]);Serial.print(",");
    }
    Serial.println();
  }
}

void loop() {
  auxMision = 1;
  float latitud = -29.9670; //4 digits of precision 
  float longitud = -71.3564; //4 digits of precision
  if(!listo){
    newMision(auxMision, latitud, longitud);
  }else{
    Serial.println("Listo");
  }
  printMatriz(auxMision);
}

The output fot this it's quite rare:
OUTPUT:
Listo
1,P,-29.9670-71.3564,-71.3564,,,,

The problems it's in cursive letters. I don't really know why i'm getting in matrixMision[0][2] that union of values.

Which Arduino are you running that code on? A 20 x 7 x 8 char array is 1120 bytes. That's over half the memory on most Arduinos.

  char numObjetivo[3];
  String str = String(auxMision);
  str.toCharArray(numObjetivo, 3);

What a waste. The atoi() function could do that far easier. I hope that auxMision contains no more than two characters.

  char latitudObjetivo[9];
  str = String(latitud ,4); //4 digits of precision
  str.toCharArray(latitudObjetivo, 9);
  strcpy(matrixMision[auxMision - 1][2], latitudObjetivo);

How big is matrixMision[n][m]? It's an array that can hold 8 characters including the terminating NULL. How many characters are you copying? Do you REALLY think they will fit?

In the moment that you reply PaulS, i resolved the problem, and was that are you saying.
That char did not fit in the matrix.
Thanks for your time.

Ah. And in your reply you said that this code it's a waste:

char numObjetivo[3];
  String str = String(auxMision);
  str.toCharArray(numObjetivo, 3);

But, i don't know why you said that i should use atoi function. I need to get the int auxMision in a char array and i stand the atoi to do the oppossite action (from char* to int) right?

If you figured out that atoi() was the wrong function, you should have been able to determine that itoa() was the correct function.