I have to read a file in C and create an int**.
This is the file:
2 -1,1,1,0,0,1 1,-1,0,1,0
I'm doing this:
FILE *fp = fopen("grafo.txt", "r");
char line[100];
int numLinea = 0;
char** tokens;
while (1) {
    if (fgets(line,150, fp) == NULL) break;
    if(numLinea == 0){
        NUMERO_NODOS = atoi( line );
        nodos = (int **)malloc (NUMERO_NODOS*sizeof(int *));
    }else{
        tokens = str_split(line, ',');
        if (tokens) {
            for (int i = 0; *(tokens + i); i++) {
                char* contactoNodo;
                strcpy(contactoNodo, *(tokens + i));
                int numNodo = numLinea-1;
                nodos[numNodo] = (int *) malloc (NUMERO_NODOS*sizeof(int));
                nodos[numNodo][i] = atoi(contactoNodo);
                printf("nodos[%i][%i] = %i\n",numNodo,i,nodos[numNodo][i]);
                printf("nodos[0][0] = %i\n",nodos[0][0]);
                //free(contactoNodo);
            }
            printf("nodos[0][0] = %i\n",nodos[0][0]);
            //free(tokens);
        }
    }
    numLinea++;
    //printf("%3d: %s", i, line);
}
And this is the output:
nodos[0][0] = -1 nodos[0][0] = -1 nodos[0][1] = 1 nodos[0][0] = -1163005939 (...)
Why is nodos[0][0] = -1163005939 in the second iteration of the for loop?
SOLUTION
LOL, it was that:
if(i==0){
      nodos[numNodo] = (int *) malloc (NUMERO_NODOS*sizeof(int));
}
I can't believe I didn't see it. Thanks MikeCAT!!!
 
     
     
    