PDA

View Full Version : [C]programma si blocca su un accesso ad arrey di char...


santaclause83
27-08-2007, 14:52
1--ho inizializzato un array di char copiandoci sopra un pezzo da un altro array di char,alla fine vi ho concatenato il '\0'

2--fatto una printf per controllare,e effettivamente l'array è stato inizializzato

3--subito dopo faccio un ciclo su sull'array e il programma si blocca al primo accesso,senza nemmeno restituire segmentaiton fault o eccezioni varie...??

codice:

while(j != lung_secondo){
request[j]=secondo_mess[j];
j++;
}
request[j]='\0';
printf("comando = %s;\n",request);
j=0;

//alloco lo spazio per il nome della matrice
if((nomemat = (char *)malloc(sizeof(char)*MAXNOME))== NULL){
printf("malloc per inizializzazione comando fallita,terminazione client");
exit(1);
}

//qui sotto il programma si blocca,e se sostituisco il while con delle printf
//di elementi dell'array si blocca comunque,quindi è l'accesso all'array che
//manda in palla il programma,ma non mi spiego perchè...

while(request[j] != '_'){
printf("%s\n",request[j]);
nomemat[j]=request[j];
j++;
}
printf("nomemat = %s,datimat = %s",nomemat,request[j]);//non viene stampato

santaclause83
28-08-2007, 15:40
up :help:

redcloud
28-08-2007, 16:57
j a che cosa è inizializzata?

EDIT: Come non detto.

EDIT: E' strano che non ti va in segmentation fault perchè se request è un array di char, allora nella printf devi passare &request[j]. Il carattere di conversione %s accetta un indirizzo.