Добавил:
Fragga
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include <stdio.h>
#include <sys/stat.h>
#include <fcntl.h>
int main(int argc,int *argv[])
{
struct stat buf1;
char buf[100];
int p[2],pid;
if (pipe(p)==-1)
{
perror ("pipe error");
exit(1);
}
switch(pid=fork())
{
case -1:
perror("can't fork ");
exit(2);
break;
case 0:
{
close(0);
open ("f.dat",O_RDONLY);
stat("f.dat",&buf1);
read(0,buf,buf1.st_size);
printf("size of f.dat= %d\n",buf1.st_size);
write(p[1],buf,sizeof(buf));
break;
}
default:
{
read(p[0],buf,sizeof(buf));
printf("%s",buf);
printf("%s\n ",argv[1]);
printf("%s",argv[2]);
getchar();
exit(0);
}
}
}