Je relance une question que j'ai posé il ya un ptit moment

j'aimerai renvoyer une chaine de caractere a ma fct.
Le but est que je dois lire un fichier.txt pour recuperer ma chaine de caractere, la ligne de lecture sera un parametre a ma fonction est ensuite je souhaie renvoyer cette chaine de caractere a l'aide d'un pointeur.
Sur un autre fichier j'utilise cette fonction et je fais un printf pour voir si j'ai bien recuperer ma chaine mais la j'obtient pas la chaine

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
///------ fonction recuperation de la chaine-----////
char *p_ret=NULL; //variable globale
 
 
char* fichier_txt(int j)
{
 FILE *fichier;
 int cpt = 0; // on initialise le compteur sur la premiere ligne
 char chaine[100]= ""; // On utilise une chaîne pour placer la data récuperer
 p_ret =malloc(sizeof(char) * 100);
 
  if (p_ret == NULL) // Si l'allocation a échoué
    {
       printf("il ya un soucis d'allocation memoire\n"); // On arrête immédiatement le programme
    }
  else
     {
     fichier = fopen("fichier_data.txt","r"); // Ouverture du fichier en lecture
 
     if (fichier != NULL) // Test d'ouverture
     {
      while (fgets(chaine, TAILLE_MAX, fichier) != NULL) // On fait une boucle while pour
   	  {                                                  // chercher la ligne que l'on veut lire
   	  p_ret=fgets(chaine, TAILLE_MAX, fichier);
      cpt=++cpt; // Attention ici on doit d'abord effectuer l'incrementation
      //printf("on va entrer ds la boucle if pour la %d fois\n",cpt);
      if(cpt==j) // Ici on choisit la ligne à récupérer     
      {
      printf("la chaine de caractere est donc %s\n",chaine);
      return p_ret;
      }
 
      else 
      return 0;
 
}
   }
 else
 printf("Impossible d'ouvrir le fichier fichier_data.txt");
 
 
}
 
 
}
 
///---------Main------------//
 
int main(void)
{
 char*result =NULL;   
 int ligne7=7;
 char chaine[50]= "";
 int i=0;
 result= fichier_txt(ligne7);
 chaine[50]=*result;
   printf("la chaine est donc : %s\n",&result);
 
    system("PAUSE");
    free(p_ret); 
    return 0;
 
    }
je n'arrive pas a recuperer ma chaine de caratere ???
doncSi vous avez une petite idée pour pouvoir recuperer la chaine retourner et pouvoir l'afficher ..

Merci