bonjour.
mon probleme c'est que je charge des donnees depuis un fichier et que la taille du pointeur je l'ai qu'en regardant dans le fichier, j'aimerai faire une fonction comme celle ci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
int loadmap(char path[i][j],char *map) //svp ne pas commenter i et j
{
   for(int k=1;k<i;k++)
   {
     lire_octetxxxdans_le fichier_pour_obtenir_taille;
     taille =x;
     map = realloc(map,sizeof(char)*(x*k));
     remplire_map;
     if (erreur)
     return 0;
  }
  return 1;
}
je rentre pas dans les detailles mon code marche deja correctement quand je mets le tout dans main. ma question est de savoir si je peux sans risque faire comme ecrit plus haut. car j'ai entendu dire que malloc ou ses derive dans une fonction c'est pas bien. donc ce que j'ai ecris plus haut est il faissable oui ou non ? si non de devrait-je faire car j'aimerai avoir ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
char *map=malloc(sizeof(char));
 
if(loadmap(char path,map))
do
{
   rotation_map(map,angle);
   affiche_map(ecran,map);  //routine opengl;
   calcule_realite(temps,map); 
   memorise_nouvellemap(map);
   est_ce_fini();
}while(!finish);
free(map);
comme vous le voyez l'allocation est a l'exterieur mais la taille est modifier a l'interrieur et le free aussi est a l'exterieur, j'ai pas encore tape ce code car la fonction loadmap n'existe pas. ai-je le droit de faire ca sans risque?