Un array de string dans le heap ( vaut mieux lire )

cs_Gabi Messages postés 55 Date d'inscription dimanche 10 février 2002 Statut Membre Dernière intervention 20 décembre 2005 - 12 sept. 2004 à 15:16
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 - 12 sept. 2004 à 19:54
Voila, pour les besoins de mon programme je veux faire un array, d'array de char ( donc de string ) déclarées dans le heap. Voilà donc le bout de code de ma déclaration de variable :

char** Message;

Message=new char*[MessageNum];

for(int i=0;i<MessageNum;i++)
{
Message[i]=new char[1000];
}

Bon, je sais que ce truc fonctionnerait avec un integer ou un double disons, mais le char cest ma première fois. Et puis quand je tente d'accéder à disons la valeur Message[0], mon programme plante. Donc si vous pouvez régler mon problème, soit en corrigeant le problème ou en me proposant une autre solution plus efficace que celle-ci, ca serait bien apprécié. Merci.

2 réponses

Hylvenir Messages postés 364 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 octobre 2006 2
12 sept. 2004 à 15:24
Salut,
ton code fonctionne, au pire, il manque l'initialisation des chaînes allouées (et une fuite potentielle en cas d'erreur d'allocation dans la boucle).

Meilleure solution :

std::vector< std::string > Message;

//Ma participation à la saturation du net:
//http://hylvenir.free.fr
0
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
12 sept. 2004 à 19:54
"quand je tente d'accéder à disons la valeur Message[0]"
que fais tu pour y acceder exactement ? a priori il n'y a pas d'erreur dans l'allocation la.
0
Rejoignez-nous