Bonjour a tous,

je suis en train de creer un petit programme pour lire un fichier et assigner ses chaines dans un tableau de char*

mon fichier :

coucou ca va ?\n
ca et toi ?\n
bien\n
mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
char **file_tab()
{
  int i = 0;
  int j = 0;
  char *str = calloc(1024, sizeof (char) * 1024);
  char **array = malloc(sizeof (char) * 1000 * 1024);
  FILE *file = fopen ("./test", "a+");
 
  if (file == NULL)
    {
    printf("error");
    exit(1);
    }
  while (fgets(str, 1000, file) != NULL)
    {
    array[i] = str;
    printf("%s", str);
    printf("%s\n", array[i]);
    i++;
    }
  while (array[j] != NULL)
    {
    printf("%s", array[j]);
    j++;
    }
  fclose(file);
  return (array);
}
a la fin de la lecture lorsque je recupere mon tableau et que je le print je me retrouve avec toutes les cases a la meme valeur, a savoir "bien".

je n'arrive pas a trouver mon erreur et je solicite donc votre aide...

bonne journee a tous et merci d'avance !

PS : desole pour le manque d'accents, je suis sur un qwerty