Lecture de la premiere ligne d'un fichier
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:
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:
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);
} |