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

[0] Índice de Mensajes

Ir a la versión completa