Buenas, tengo una duda, quiero hacer esto:
char *ptr[10] = {"auto blanco", "avión grande", "pan dulce", "disco malo", "helicoptero negro"," comida buena", "león grande", "mono azul", "árbol grande", "mar profundo"};
pero que sea de forma manual, osea que el usuario ponga las cadenas, no que ya estén listas, he intentado y no sé como hacerlo, lo que hice fue esto así en modo prueba con solo 3 ingresos de cadenas:
#include <iostream>
using namespace std;
int main()
{
char *ptr[10];
cout << "Escriba la primera cadena" << endl;
cin.getline(ptr[0],25);
cout << "Escriba la segunda cadena" << endl;
cin.getline(ptr[1],25);
cout << "Escriba la tercera cadena" << endl;
cin.getline(ptr[2],25);
}
Sale error al intentar agregar la tercera cadena, no sé porque no deja hacerlo manualmente pero al hacerlo como puse al principio ya con las cadenas listas todo funciona bien, esa sería mi duda.
Varios detalles:
El programa no sabe "apriori" cuanto espacio va a necesitar cada cadena.
Un apuntador debe de apuntar a una sección valida de memoria. Actualmente tus apuntadores no apuntan a ningun lado.
De lo anterior es la mitad solo la mitad es cierto. Tus apuntadores no esten inicializados y tienen "basura" de la pila... con lo cual se me hace increible que llegaras al tercer apuntador.
En fin son muchad cosas mas, Otra es el titulo de este tema...
Mientras te dejo mas consejos en video
[youtube=640,360]https://www.youtube.com/watch?v=mG8_nY3Yzg4[/youtube]
Saludos
Hola!
Modifica el titulo! el mismo debe ser desciptivo al problema