E' a tema didattico perciò preferirei non mi diceste che c'è la possibilità di farlo in maniera Y.
Sto cercando di scorrere *prova e copiare il valore di *prova ogni ciclo in tmp aggiungendo ogni lettera letta.
codice:
void explode(char **str) {
int i = 0;
char *prova = "-1,-1,2,3";
char *tmp = NULL;
for (; i < strlen(prova); i++) {
if (tmp != NULL) {
tmp = realloc(tmp, (strlen(tmp)+1) * sizeof(char));
} else {
tmp = malloc(1 * sizeof(char));
}
tmp[i] = *(prova+i);
printf("\nsize: %ld\n", strlen(tmp));
printf("\ntmp: %s\n", tmp);
}
free(tmp);
}
Perchè se sostituisco realloc(tmp, (strlen(tmp)+1) * sizeof(char)) con realloc(tmp, 1 * sizeof(char)) funziona comunque?