PDA

Visualizza la versione completa : C++ ed allocazione dinamica della memoria


misterx
26-09-2001, 11:49
main()
{
FILE *fp;
char buf[127];
int c;
int = 0;

fp=fopen("miofile.txt","r");
if(!fp) exit(20);

while( ( c = fgetc(fp) ) != EOF)
buf[i++] = (char)c;

//resto del programma.............

fclose(fp);
}

questo scheletro di programma, carica nell'array di char (buf)
una stringa, normale direte; il mio problema Ŕ che avrei bisogno
di creare un array dinamico di modo che anche se la linea Ŕ lunga
1000 caratteri, questa venga messa in memoria senza che
vengano generati errori.
So che Ŕ possibile usando new/delete) allocare dinamicamente
la memoria in funzione della necessitÓ.
Purtroppo mi sfugge la sintassi, se qualche buon'anima mi fornisce
una dritta....

spero di essere stato chiaro

misterx
27-09-2001, 11:06
ho risolto, grazie

metropolis999
27-12-2001, 02:30
ho letto questo 3d e mi servirebbe proprio la stessa cosa... come hai fatto?

misterx
12-12-2002, 20:05
Originariamente inviato da metropolis999
ho letto questo 3d e mi servirebbe proprio la stessa cosa... come hai fatto?

pardon per il lunghissimo ritardo; anche se penso che nel frattempo, tu abbia risolto il tuo problema:

char *buf = '\0';

while( ( c = fgetc(fp) ) != EOF)
{
buf = (char *) realloc(buf, i+1);
buf[i++] = (char)c;

//.....
}

Loading