bonsoir,

voila j'essaye de coder la fonctione echo_line voici son utilite :l lit l'entree standard par coup de 80 octets et ecrit le tout dans le
fichier indique en parametre. Si la ligne entree correspond a la chaine de
caracteres "quit", le programme quitte sans enregistrer cette derniere
ligne. Si le fichier existe deja, il sera remplace (le contenu precedent
sera perdu)

voici mon codage qui bien evidemment ne fonctionne pas:

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
#include <stdlib.h>
#include <fcntl.h>
 
int     echo_line(char *name, int size)
{
  char  *str;
  int   fildes;
  int   rd;
 
  if (size > 80)
    printf("Out of memory\n bad usage of function\n");
  str = malloc(sizeof (*str) * size);
  if ( str = NULL)
    {
      printf("echec malloc\n");
      return(0);
    }
  fildes = open(name, O_WRONLY);
  if (fildes == -1)
    return(0);
  rd = read(0, str, size);
  write(fildes, str, rd);
  free(str);
}
 
int     main()
{
  echo_line("salut", 80);
}
ps: aucune erreur de compilation , juste de codage! merci pour votre aide