Zootella
Messages postés252Date d'inscriptionvendredi 10 juin 2005StatutMembreDernière intervention 5 septembre 2006
-
16 juin 2005 à 21:23
cs_neria
Messages postés319Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention16 février 2009
-
17 juin 2005 à 06:56
cs_neria
Messages postés319Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention16 février 2009 16 juin 2005 à 21:54
Salut !
Il suffit de faire un tableau de pointeur et de l'intégrer dans ta boucle :
// Tableau de 25 tableaux (char*)
char** ress = new char*[25];
// ou char* ress[25] ; selon tes goûts pour les pointeurs
for ( int i = 0; i < 25; i++)
{
// Affecte l'espace au char*
ress[i] = new char[1024] ;
LoadString(hInstance, ResourceMax, ress[i], 1024);
ResourceMax++;
}
Bon ok ça demande une petite connaissance des pointeurs, mais c'est un jeu marrant je trouve :) Et si tu es en C, il faut utiliser malloc ( ress[i] = malloc(sizeof(char),1024) ; ) Idem pour la première allocation, et surtout n'oublie pas de libérer la mémoire après utilisation !!
steve_clamage
Messages postés475Date d'inscriptiondimanche 3 octobre 2004StatutMembreDernière intervention11 août 20065 16 juin 2005 à 22:59
new n'est pas une fonction, c'est un opérateur du langage C++. Si tu
fais du C utilises malloc (ou calloc, realloc) et free pour gerer
dynamiquement la mémoire.
Une erreur:
free(ress);
à remplacer par
for ( i = 0; i < sizeof ress / sizeof ress[0]; i++)
{
free(ress[i]);
}
Mais l'allocation dynamique ne sert à rien dans ce cas, utilises tout simplement un tableau:
char resstr[25][1024];
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_neria
Messages postés319Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention16 février 2009 17 juin 2005 à 06:56
Salut !
C'est vrai qu'en y relechissant un peu, un simple ress[25][1024] suffit, je n'y ais pensé que trop tard, j'ai tellement l'habitude de passer par les pointeurs que je n sais plus faire les trucs basique ;)