Добавил:
Fragga
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:лабораторки по ОС препод Челноков / 2семестр / wi2 / Kuzmin / lab3
.c#include<stdio.h>
#include<unistd.h>
#include<fcntl.h>
#include<signal.h>
int fd1,fd2,ns=0,kol=0;
char a,b[8];
void onintr(int sig)
{
signal(SIGINT,onintr);
switch(++ns)
{
case 3:
lseek(fd2,0,SEEK_SET);
printf("Skopirovano %d 8-ok bajt : ",kol);
while(read(fd2,&a,1)>0) printf("%c",a);
printf("\n");
exit(0);
case 2:
printf("Skopirovano %d 8-ok bajt\n",kol);
}
}
main(int narg,char *marg[])
{
signal(SIGINT,onintr);
fd1=open(marg[1],O_RDONLY);
fd2=open(marg[2],O_RDWR|O_CREAT|O_TRUNC);
while(read(fd1,&b,8)==8)
if(b[0]==marg[3][0])
{
write(fd2,&b,8);
kol++;
sleep(1);
}
}