[C con Clase] Ya q andamos en arreglos dinamicos

Steven Davidson steven en conclase.net
Sab Ene 13 03:25:19 CET 2007


Hola Reinel,

El pasado 2007-01-12 19:07:50, Rey escribió:
 
R> Hola amigos mios. Tengo una duda con esto. Si quisiera por ejemplo, crear una matriz de cadenas de char, para almacenar cadenas, pero no se cuantas son y tampoco su tamaño específico. ¿Haría algo como esto? char **MisCadenas; y como asigno cada una de esas cadenas es decir , como les lleno sus valores?
R>  

Lo que necesitas es una estructura dinámica de datos. Con tal estructura, la información va "creciendo" pidiendo memoria cuando sea necesario. Sugiero consultar el capítulo 1 del curso de EDD. Puedes ir directamente a: http://c.conclase.net/edd/index.php?cap=001

Si sólo necesitas usar una lista de cadenas, entonces sugiero usar las STL. Por ejemplo,

vector< string > listaCadenas;

listaCadenas.push_back( "cadena" );
listaCadenas.push_back( "un mensaje largo" );
listaCadenas.push_back( "dabale arroz el abad" );
listaCadenas.push_back( "anita lava la tina" );
listaCadenas.push_back( "1010101010101010010101010100100111110100010101011" );

listaCadenas[0] += "2 es algo mas largo";
listaCadenas[1] += "blah blah blah";
listaCadenas[2] = "mensaje corto";
listaCadenas[3] = "palindromo";
listaCadenas[4] += "01010101010101111010100001000110000000011101001";

La plantilla 'vector' se encarga de aumentar su contenido, al igual que la plantilla 'string' que ya se encarga de redimensionar automáticamente para albergar más o menos caracteres.

Espero que esto te ayude.

Steven


Más información sobre la lista de distribución Cconclase