Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
26.05.2014
Размер:
944 б
Скачать
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <fcntl.h>

static	int	num = 0;
static	int	ctrl_c(int);
int	count = 0;

int	main(int argc,char *argv[])
{
char	c;
char	st[8];
int	f_in;
int	f_out;

 	signal(SIGINT,(void *)&ctrl_c);
	printf("searching for %s in %s\n",argv[1],argv[2]);
 	f_in=open(argv[2],O_RDONLY);
        f_out=open("rezults.txt",O_WRONLY | O_CREAT | O_TRUNC ,0666);
	c=*argv[1];
while (read(f_in,st,1)>0)
{
	sleep(1);
if (st[0]==c)
{
	//printf("%c sovpadaet s %c\n",st[0],c);
	write(f_out,st,1);
	read(f_in,st,7);
	write(f_out,st,7);
	count++;
}
	//printf("%c ne sovpadaet s %c\n",st[0],c);
}
printf("finished\nfound %d\n",count);
close(f_in);
close(f_out);
return 0;
}

static	int	ctrl_c(int sig)
{
signal(SIGINT,(void *)&ctrl_c);
if (++num<3)
{printf("\nfound %d\n",count);}
else
{
printf("\nfound %d\n",count);
printf("\n\nSoderzimoe faila rezultata:\n");
execl("/bin/cat","cat","rezults.txt",NULL);
}
}
Соседние файлы в папке lab3
  • #
    26.05.201411.89 Кб4a.out
  • #
    26.05.2014944 б5l.c
  • #
    26.05.201411.75 Кб4lab3
  • #
    26.05.2014189 б4Makefile
  • #
    26.05.201416 б5res.txt
  • #
    26.05.201424 б5rezults.txt
  • #
    26.05.2014145 б4test