Bonjour, j'ai un petit soucis, j'utilise read, pour lire dans un fichier (ce qui fonctionne tres bien) mais je voudrais ne lire que la premiere ligne de ce dernier, mais je n'arrive pas, votre aide me serait d'un grand secours. Merci d'avance.

Voici ma fonction :

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
char    *get_my_line(int fd)
{
  int   nb_read;
  char  *buffer;
  int i = 0;
 
  buffer = (char *) malloc(sizeof(char) * 512);
  while ((nb_read = read(fd, buffer, 512)) > 0 && buffer[i] != '*')
        write(1, buffer, nb_read);
  if (nb_read == (-1))
    {
      return ("file is empty !");
    }
  return (buffer);
  free(buffer);
}
et voici mon main :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
int     main(int ac, char **argv)
{
  char  *line;
  int   fd;
 
  fd = open(argv[1], O_RDONLY);
  get_next_line(fd);
  close(fd);
  return (0);
}