probleme avec une chaine de caractere

job2221

Membre confirmé
28 Octobre 2008
36
0
Bonsoir,

j'ai un petit soucis avec une fonction que j'essaie de coder.
En fait, je lis le contenue d'un fichier, le place dans un char* et la j'aimerai diviser ce char* en fonction des retour a la ligne. Pour ca j'ai penser a utiliser des char** .
Seulement, Segmentation Fault lol

je vous link le code si l'un de vous peut m'aider je suis preuneur.

Merci beaucoup !
Bloc de code:
char **getln (char *buffer)                                                     
{                                                                               
  int i = 0;                                                                    
  int j = 0;                                                                    
  int k = 0;                                                                    
  char **ligne;                                                                 

                                                                                ligne = malloc(sizeof(char) * 2048);

  while (buffer[i] != '\0')                                                     
  {                                                                             
    while (buffer[i] != '\n')                                                   
    {                                                                           
      ligne[j][k] = buffer[i];                                                  
      k++;                                                                      
i++;
    }                                                                           
    j++;                                                                        
  }                                                                             
  return ligne;                                                                 
}
 
Ta variable "ligne" est une chaine de caractère donc un tableau de "char" soit encore "char*" (un pointeur sur le premier élément du tableau). Et ta fonction doit retourner l'adresse de cette chaîne, "&ligne" qui sera un "char**".