int grepdata(char *buf,int fd) {
off_t n;
char t[MAXLINE];
char destbuf[MAXLINE];
char srcbuf[MAXLINE];
#ifdef DEBUG
// fprintf(stderr,"t is %s\n",t);
#endif
trapright(buf," \t\n",srcbuf);
#ifdef DEBUG
fprintf(stderr,"srcbuf after trapright is %s\n",srcbuf);
#endif
n = lseek(fd,0,SEEK_SET);
if (n == -1) {
return -1;
}
while ((n = readline(fd,t,MAXLINE)) !=0) {
trapright(t," \t\n",destbuf);
if (strcmp(destbuf,srcbuf) == 0)
return 1;
}
return 0;
off_t n;
char t[MAXLINE];
char destbuf[MAXLINE];
char srcbuf[MAXLINE];
#ifdef DEBUG
// fprintf(stderr,"t is %s\n",t);
#endif
trapright(buf," \t\n",srcbuf);
#ifdef DEBUG
fprintf(stderr,"srcbuf after trapright is %s\n",srcbuf);
#endif
n = lseek(fd,0,SEEK_SET);
if (n == -1) {
return -1;
}
while ((n = readline(fd,t,MAXLINE)) !=0) {
trapright(t," \t\n",destbuf);
if (strcmp(destbuf,srcbuf) == 0)
return 1;
}
return 0;
}
token 保存在buf中,找到返回1,未找到返回0,出错返回-1