C/Visual C - Guardar un String

 
Vista:

Guardar un String

Publicado por Adan (3 intervenciones) el 29/05/2002 22:35:33
Oigan..
Como le hago para gaurdar un apellido en una matriz..
osea.. varios apellidos o nombres en un arreglo?

Gracias...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Guardar un String

Publicado por chuidiang (677 intervenciones) el 30/05/2002 07:16:07
Un apellido es una cadena de caracteres, es decir
char *apellido;
para hacer un array de eso, debes poner otro asterisco mas
char **apellido.
De esta forma apellido[0] es el primer apellido, apellido[1] el segundo, etc. apellido [0][3] es la cuarta letra del primer apellido.
Debes reservar espacio para el array de apellidos
apellido = new char *[10 ] // 10 apellidos. No estoy seguro si es asi la sintaxis
y luego reservar espacio para cada apellido
for (i=0; i<10; i++)
apellido[i] = new char[20]; // 20 letras por apellido
Para liberar, igual pero al revés.

Si quieres "simplificar" un poco esto, puedes hacer
typedef apellido char[20]; // el tipo apellido en un string de 20 caracteres
apellido tabla_apellidos[10]; // array de 10 apellidos.
Te evitas de esta forma reservar memoria, aunque los tamaños quedan fijados.
Incluso puees dejar el typedef apellido y reservar el espacio de la tabla
apellido *tabla_apellidos;
tabla_apellidos = new apellido[10];

Se bueno
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Guardar un String

Publicado por El mobur (202 intervenciones) el 30/05/2002 09:36:48
También puedes guardar cada apellido en una variable de tipo string, si estás en C++ (el tipo string viene con la librería estandar de clases).
Así no tendras problemas si el apellido es más largo de lo que tú habías previsto (20 en el ejemplo):

#include <string>

string tablaApellidos[10];

Espero que te sirva

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar