Programación General > C/C++
Como almacenar en un char* array varios strings ?¿
(1/1)
ferrallas:
Hola, tengo un problema con un programa en C++ que me esta volviendo loco
Una primera parte del programa me devuelve varios strings de uno en uno en un bucle, y necesito almacenarlos en un vector char*, cada posicion del vector char* un string.
Es decir
char *resultado = new char[100];
string pepe1,pepe2,pepe3;
como pondria a resultado[0]=pepe1 ??
Muchas gracias!!
Eternal Idol:
resultado es una cadena de 100 caracteres, no es lo que buscas realmente.
Seria algo asi mas bien, es preferible que uses el bucle:
--- Código: Text ---int elementos = 15;char **resultado = new char*[elementos];for (int x = 0; x < elementos; x++){ string pepe = getResult(); size_t pepeSize = pepe.size(); resultado[x] = new char[pepeSize + 1]; strcpy(resultado[x], pepe.c_str()); cout << resultado[x] << endl;}
Asi en resultado[0] tendras la primera cadena, en resultado[1] la segunda y asi sucesivamente.
Despues tenes que liberar todo esto claro:
--- Código: Text ---for (int x = 0; x < elementos; x++){ cout << resultado[x] << endl; delete resultado[x];}delete[] resultado;
Navegación
Ir a la versión completa