📄 main.c
字号:
/* Copyright (c) 1991 Sun Wu and Udi Manber. All Rights Reserved. */
#include "agrep.h"
unsigned Mask[MAXSYM];
unsigned Init1, NO_ERR_MASK, Init[MaxError];
unsigned Bit[WORD+1];
CHAR buffer[BlockSize+Maxline+1];
unsigned wildmask, endposition, D_endpos;
int COUNT,RE_ERR,SGREP,REGEX,NOUPPER,D_length,num_of_matched,AND;
CHAR D_pattern[MaxDelimit] = "\n; ";
void initial_value()
{
int i;
SGREP=0;
Bit[WORD] = 1;
for (i = WORD - 1; i > 0 ; i--) Bit[i] = Bit[i+1] << 1;
for (i=0; i< MAXSYM; i++) Mask[i] = 0;
}
main()
{
int fp,fd;
fp = open("test", 0);
//printf("Can't open pattern file %s\n", argv[0]);
prepf(fp);
num_of_matched = 0;
fd=open("text",0);
mgrep(fd);
printf("num_of_matched:%d\n",num_of_matched);
return;
}
/*
main()
{
int M=0,fd=open("ani",0);
unsigned char Pattern[MAXPAT]="agrep;ja",OldPattern[MAXPAT]="agrep";
initial_value();
preprocess(D_pattern, Pattern);
M = maskgen(Pattern, 0);
num_of_matched = 0;
bitap(D_pattern, Pattern, fd, M, 0);
num_of_matched = 0;
M=strlen(OldPattern);
fd=open("ani",0);
sgrep(OldPattern, M, fd, 0);
return;
}
*/
output (buffer, i1, i2, j)
register CHAR *buffer; int i1, i2, j;
{
register CHAR *bp, *outend;
if(i1 > i2) return;
num_of_matched++;
if (buffer[i1] == '\n')
i1++;
while(buffer[i1] == '\n' && i1 <= i2)
i1++;
bp = buffer + i1;
outend = buffer + i2;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -