Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
26.05.2014
Размер:
849 б
Скачать
#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;
if (argc>=2){
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("res.txt",O_WRONLY | O_CREAT | O_TRUNC ,0666);
c=*argv[1];
printf("%c\n",c);
while (read(f_in,st,1)>0)
{if (st[0]==c)
{
printf("%c equ %c\n",st[0],c);
write(f_out,st,1);
read(f_in,st,7);
write(f_out,st,7);
num++;}
printf("%c !equ %c\n",st[0],c);
}
printf("finished\nfound %d\n",num);
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
{exit(0);}
}
Соседние файлы в папке 3
  • #
    26.05.2014849 б5l.c
  • #
    26.05.201411.75 Кб5lab3
  • #
    26.05.2014189 б5Makefile
  • #
    26.05.201432 б6res.txt
  • #
    26.05.201441 б5tst.f