|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: May 2003
Messaggi: 271
|
[C] array di caratteri......
rinfrescatemi un pò le idee sull'allocazione dinamica...
devo acquisire un vettore di caratteri... il vettore deve essere interrotto dal carattere "#". Non conosco a priori la lunghezza della stringa che devo acquisire. Come posso fare per allocare dinamicamente la parte di memoria da destinare al vettore?? so che devo usare il comando "malloc", ma ho bisogno di una rinfrescatina... grazie ragà...
__________________
Sono serissimo .. in coda. (cit. Nabrez) |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Devi usare malloc e poi quando hai finito la memoria allocata con malloc devi usare realloc...
Ovviamente per limitare il numero di chiamate a realloc sarebbe bene allocare la memoria a blocchi... Mettiamo che la dimensione dei blocchi sia 16 byte... #define BLOCK 16 char *stringa; int cont = 0, size = BLOCK; stringa = (char *)malloc(sizeof(char)*BLOCK); stringa[0] = '\0'; /*carattere di fine stringa*/ Ogni volta che inserisci un carattere: if((cont+1) >= size) /*il maggiore non si dovrebbe mai verificare*/ { stringa = (char *)realloc(stringa, (size + BLOCK) * sizeof(char)); size += BLOCK; } stringa[cont] = nuovo_carattere; stringa[cont+1] = '\0': ++cont; Per eliminare la stringa: free(stringa); |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: May 2002
Città: udine
Messaggi: 546
|
Quote:
insonnia caro cionci???
__________________
a chi non piace il vino... dio neghi anche l'acqua! ![]() DELL Latitude E4300, iPhone 6 |
|
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
LOL!
cari moderatori, ma perché non la eliminate l'ora dell'ultima modifica nei 3d, o almeno non la rendete visibile solo ai modders (come accade in moltissimi forums)? si tratta anche di privacy! |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#6 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#8 | |
|
Member
Iscritto dal: May 2003
Messaggi: 271
|
Quote:
solo un chiarimento... che intendi per "dimensioni dei blocchi?? perchè proprio 16 byte?
__________________
Sono serissimo .. in coda. (cit. Nabrez) |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Era solo per fare un esempio... Io lo metterei maggiore...
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:15.




















