Bonjour a tous
J'ai des problème avec mes fonctions qui retourne ou prenne en paramètre un tableau.
Dans le code je récupère le tableau Buffer et ensuite je l'utilise dans la fonction, pour ça il n'y a pas de problème ça fonctionne.
Mais je veux modifier mon tableau entre les deux et je n'y arrive pas.
Je voudrais modifier ou lire la valeur d'une case.
Normalement pour mon tableau qui est à deux dimensions je devrais faire :
Buffer[10][10] = 1; par ex, mais ça ne marche pas
char*Buffer=malloc(NB_BLOCS_HAUTEUR*NB_BLOCS_LARGEUR*sizeof(char));
Buffer=chargerNiveau();
//c'est ici que je veux modifier mon tableau
afficherCarte(Buffer,ecran);
char*chargerNiveau()
{
FILE*fichierlvl=NULL;
fichierlvl=fopen("niveau.lvl","r");
charligneFichier[NB_BLOCS_HAUTEUR*NB_BLOCS_LARGEUR]={0};
fgets(ligneFichier,NB_BLOCS_HAUTEUR*NB_BLOCS_LARGEUR+1,fichierlvl);
charcartetab[NB_BLOCS_LARGEUR][NB_BLOCS_HAUTEUR]={0},i=0,j=0;
for(i=0;i<NB_BLOCS_HAUTEUR;i++)
{
for(j=0;j<NB_BLOCS_LARGEUR;j++)
{
switch(ligneFichier[(i*NB_BLOCS_LARGEUR)+j])
{
case'0':
cartetab[i][j]='0';
break;
case'1':
cartetab[i][j]=1;
break;
case'2':
cartetab[i][j]=2;
break;
case'3':
cartetab[i][j]=3;
break;
case'4':
cartetab[i][j]=4;
break;
case'5':
cartetab[i][j]=5;
break;
case'6':
cartetab[i][j]=6;
break;
}
}
}
fclose(fichierlvl);
char*Buffer=malloc((strlen(cartetab)+1)*sizeof(char));
if(Buffer!=NULL)
{
strcpy(Buffer,cartetab);
}
returnBuffer;
}