C/Visual C - Problema con cadenas

 
Vista:

Problema con cadenas

Publicado por Menphis (1 intervención) el 05/09/2008 01:19:16
Hola a todos, soy un programador principiante y tengo el siguiente problema:

necesito almacenar 10 nombres de personas en un vector de 10 posiciones, los datos tiene que ser introducidos por el teclado, por ejemplo:

char* n[10];

for(int i=0; i<10; i++){
cout<< "Ingrese el nombre:" <<endl;
cin>>n[i];
}

pero cuando lo hago me devuelve un error de escritura en la memoria, la pregunta es
¿Como hago para almacenar un nombre (ej. Carlos), en una posicion del vector (son 10), dado que un nombre es una cadena de caracteres y esta a su vez es un vector de tipo char.

Estare muy agradecido por su ayuda.
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:Problema con cadenas

Publicado por Gilberto (31 intervenciones) el 05/09/2008 06:04:13
char* n[10]; // Arreglo de nombres

const NAME_SIZE = 50; // Tamaño máximo de un nombre

char* nombre; // Apuntador a un nombre

for(int i=0; i<10; i++) {
cout << "Ingrese el nombre: " << endl;
nombre = new char[NAME_SIZE]; // Apartamos espacio para el nombre
cin.getline(nombre,NAME_SIZE); // obtenemos el nombre desde la entrada y lo guardamos en la variable nombre
n[i] = nombre; // Guardamos la dirección del nombre en el arreglo
}
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