|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2004
Città: Milano
Messaggi: 415
|
[C] liste
vi posto direttamente tutto il codice perchè questo programma mi sta facendo....girare le biglie....
Con borland c funziona più o meno, poi quando termino (inserendo f) il programma va in crash. Se compilo con gcc addirittura si blocca durante l'esecuzione...non fate caso alle varie printf in mezzo al codice, ma le ho messe per verificare dove si blocca il programma... in particolare non capisco perchè si blocca nella strcpy della funziona input...infatti mi esegue la printf precedente, ma non quella successiva... poi se mi date un'occhiata nel compless ve ne sarei molto grato...grazie mille
__________________
Ho concluso con Worp, -V3G3TA-, Marco911, TheDragon81, ciociola ------------------------------------------------ Diego |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ma usare il debugger di Borland C no ?
Quando fai la scanf di una stringa non devi mettere la &. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2004
Città: Milano
Messaggi: 415
|
lo sto usando il debugger ma con quello non mi da alcun problema.
peccato che il prof vuole che sia compilato con gcc e con quello mi da qualche warning e si blocca subito in quella strcpy... (anche modificando le scanf senza &)
__________________
Ho concluso con Worp, -V3G3TA-, Marco911, TheDragon81, ciociola ------------------------------------------------ Diego |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ci credo...non hai allocato colore all'interno della struttura dati...
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2004
Città: Milano
Messaggi: 415
|
ovvero? ho provato così ma non va...
Codice:
(*scorrib).colore=malloc(sizeof(char*));
__________________
Ho concluso con Worp, -V3G3TA-, Marco911, TheDragon81, ciociola ------------------------------------------------ Diego Ultima modifica di diego86 : 01-03-2008 alle 12:21. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Devi allocare spazio per la stringa...
scorrib->colore = (char *) malloc(sizof(char) * (L + 1)); dove L è la lunghezza della stringa. |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Mar 2004
Città: Milano
Messaggi: 415
|
niente da fare...
__________________
Ho concluso con Worp, -V3G3TA-, Marco911, TheDragon81, ciociola ------------------------------------------------ Diego |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
ma scusa.. devi fare il cast quando allochi memoria, esempio:
scorrib=(struct biglia*)malloc(sizeof(struct biglia)); ps. tra l'altro visto che usi typedef puoi omettere struct e scrivere semplicemente: scorrib=(biglia*)malloc(sizeof(biglia)); Ultima modifica di k0nt3 : 01-03-2008 alle 13:28. |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Mar 2004
Città: Milano
Messaggi: 415
|
si ma non penso che sia per questo che si blocca la strcpy
__________________
Ho concluso con Worp, -V3G3TA-, Marco911, TheDragon81, ciociola ------------------------------------------------ Diego |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
sono riuscito a compilarlo e mi da solo un segmentation fault per il fatto che chiudi il file anche quando non riesci ad aprirlo
fclose(fp); devi metterlo solo se fp non è NULL e quindi solo nel ramo else |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Mar 2004
Città: Milano
Messaggi: 415
|
si ma si compila anche da me, a parte qualche warning sulle typedef...
però quando lo eseguo mi si blocca sulla strcpy
__________________
Ho concluso con Worp, -V3G3TA-, Marco911, TheDragon81, ciociola ------------------------------------------------ Diego |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:55.




















