Добавил:
          
          
        
        
    
            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);    
  }
}
 