Utilisation des appels système pour mettre en œuvre les unix commande cat

Pour mon OS de la classe I ont pour mission de mettre en œuvre Unix la commande cat avec des appels système (pas de scanf ou printf). Voici ce que j'ai obtenu jusqu'à présent:

(Édité grâce à des réponses)

#include <sys/types.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>



main(void)
{


   int fd1; 
   int fd2;

   char *buffer1;
   buffer1 = (char *) calloc(100, sizeof(char));


   char *buffer2;
   buffer2 = (char *)calloc(100, sizeof(char));

   fd1 = open("input.in", O_RDONLY);    
   fd2 = open("input2.in", O_RDONLY);


   while(eof1){ //<-lseek condition to add here
   read (fd1, buffer1, /*how much to read here?*/ );
   write(1, buffer1, sizeof(buffer1)-1);     
   }


   while (eof2){ 

    read (fd2,buffer2, /*how much to read here?*/);  
    write(1, buffer2, sizeof(buffer2)-1);

    }

}

Les exemples que j'ai vu afficher uniquement les lire avec un nombre d'octets. Je ne sais pas combien d'octets chacun de lire les fichiers auront, alors, comment puis-je spécifier lire la dernière paramether?

Mon answer pour votre question précédente peuvent être pertinents dans votre quête pour mettre en œuvre chat en utilisant uniquement les appels système.

OriginalL'auteur andandandand | 2010-10-05