|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2006
Messaggi: 131
|
[C]programma si blocca su un accesso ad arrey di char...
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 |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Mar 2006
Messaggi: 131
|
up
|
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
|
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. Ultima modifica di redcloud : 28-08-2007 alle 17:04. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:51.



















