beh insomma alla fine non avevo sbagliato, il problema è questo:
ho il puntatore a puntatori **array, che inizializzo con malloc (questo è il num di stringhe), poi per ogni stringa, mi viene chiesta la lunghezza, una volta avuta la lunghezza (esci dal prog se è 0..lo so ho messo un break ma solo per pigrizia
) devo inizializzare l'elemento dell'array di puntatori array[i], e qui iniziano i problemi. Se faccio un altro puntatore string e faccio quello che dovrei fare con array[i] funziona tutto bene (il prog salva i caratteri che voglio io), se invece uso array[i] il programma va in crash (infatti ho commentato le parti che non vanno bene, ad ognuna di queste righe si blocca). Ero quasi tentato di inviare la segnalazione del problema alla microsoft quando mi viene chiesto di farlo, magari loro sanno aiutarmi :P
Codice PHP:
#include <stdio.h>
#include <string.h>
main()
{
char **array, *string, c;
int num, lungh, i, j;
printf("inserisci il numero di stringhe: ");
scanf("%d", &num);
array=(char **)malloc(num);
for (i=0; i<num; i++){
printf("inserisci la lunghezza della stringa: ");
scanf("%d", &lungh);
getchar();
if (lungh==0){
break;
}
string=(char *)malloc((lungh+1)*sizeof(char));
array[i]=(char *)malloc((lungh+1)*sizeof(char));
j=0;
while((c=getchar())!='\n'){
if(j<lungh){
string[j]=c;
//*(array[j])=c;
j++;
}
}
//*(array[j])='\ 0';
string[j]='\ 0';
//strcpy(array[i], string);
printf("%s \n", string);
//printf("%s \n", *array);
array++;
}
}