Question: Study the Linux/Unix command cat to understand its basic functionality. Then study the attached source code mycat.c which implements the cat command using standard I/O
Study the Linux/Unix command cat to understand its basic functionality. Then study the attached source code mycat.c which implements the cat command using standard I/O functions. Rewrite the attached mycat.c program using System I/O functions (read, write, open, close). Write this in System I/O function
#include
int main(int argc, char* argv[])
{
FILE *fp;
void filecopy(FILE *, FILE *);
if (argc == 1)
{
filecopy(stdin, stdout);
}
else
{
while(--argc >0)
{
if ((fp = fopen(*++argv, "r")) == NULL)
{
printf("cat: can not open %s ", *argv);
return 1;
}
else
{
filecopy(fp, stdout);
fclose(fp);
}
}
}
return 0;
}
void filecopy(FILE *ifp, FILE *ofp)
{
int c;
while ((c = getc(ifp)) != EOF)
{
putc(c, ofp);
}
}
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
