ilgrigio
02-07-2006, 13:33
Salve gente, ho bisogno di un aiuto!!
Ho allocato memoria per una stringa
char *pippo = (char*)malloc(n_caratteri*sizeof(char));
strcpy(pippo,"stringa di partenza");
se ora volessi inserire tra 'stringa' e 'di' un'altra parola devo riallocare spazio? riallocando ho avuto problemi :
pippo = realloc(pippo,n_caratteri+nuovi_caratteri);
ovvero mi stampa caratteri strani.
Se invece uso direttamente memmove per spostare 'di partenza' e poi uso memcpy per copiare la nuova parola, senza riallocare funziona.
Spero di essermi spiegato
grazie a tutti
Ho allocato memoria per una stringa
char *pippo = (char*)malloc(n_caratteri*sizeof(char));
strcpy(pippo,"stringa di partenza");
se ora volessi inserire tra 'stringa' e 'di' un'altra parola devo riallocare spazio? riallocando ho avuto problemi :
pippo = realloc(pippo,n_caratteri+nuovi_caratteri);
ovvero mi stampa caratteri strani.
Se invece uso direttamente memmove per spostare 'di partenza' e poi uso memcpy per copiare la nuova parola, senza riallocare funziona.
Spero di essermi spiegato
grazie a tutti