[C con Clase] Redefinir un arreglo dinamico
Fabian Arenas
lordjerhyn en gmail.com
Jue Mayo 28 04:49:03 CEST 2009
El día 27 de mayo de 2009 2:00, Jose Cabrera <josmaca en gmail.com> escribió:
> Cuando lo creas tiene lo que podriamos llamar basura, datos que ya
> estuviesen alli antes, puesto que cuando haces el new char[3] el sistema
> reserva sitio para tres char pero no borra nada, si quieres ampliarlo a 4
> tienes que hacer lo siguiente, por ejemplo con una funcion amplia.
>
> amplia( char* pVector){
> char* aux;
> int tam = strlen(pVector); //Vemos el tamaño de pVector
> aux = new char[tam*2]; // Se suele ampliar al doble
> char caracter = 'a'; //inicializamos a algun valor diferente a \0
> int i = 0; //contador
> while( caracter != '\0' && i<tam){
> caracter = pVector[i];
> aux[i] = caracter;
> i++;
> }
> delete [] pVector;
> pVector = aux;
:O ... esto es con strcpy o strncpy de cstring o string.h ....!!!!!!!!!!
> }
>
>
> El 27 de mayo de 2009 2:24, Kalith <kalith en kernelerror.net> escribió:
>>
>> Buenas..
>> Sigo con el tema de la memoria dinámica, veamos, supongo que defino un
>> arreglo de tamaño n
>>
>> char *pVector;
>>
>> pVector = new char[n];
>>
>> suponiendo que n sea 3
>>
>> y ya estan ocupadas las n posiciones del mismo
>>
>> "zzz"
>>
>> si quisiera agregar mas elementos pero conservando los anteriores osea
>> imaginemos que quiera agregar un n+1 elemento y que mi vector quede "zzzz"
>> como lo haria¿?
>>
>> gracias
>>
>> --
>> Seamos realistas y hagamos lo imposible
>> Linux Counter User #487374
>>
>> ---
>> Nosotros los complacientes, guiados por lo desconocido, estamos haciendo
>> lo imposible para los ingratos, y hemos estado haciendo tanto por tanto
>> tiempo con tan poco, que ahora estamos capacitados a hacer cualquier cosa
>> con nada
>>
>> _______________________________________________
>> Lista de correo Cconclase Cconclase en listas.conclase.net
>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
--
Fabián Arenas L.
Estudiante de Ingeniería en Informática. UTEM
Web: http://eterniosilicio.blogspot.com/
http://informatica.utem.cl/~farenas
Linux Registered User #476277 - http://counter.li.org/
Si nada te resulta.......Rutea el algoritmo po GIL!!!
Más información sobre la lista de distribución Cconclase