Encoders
>
More...
>
C
>
Program
/* Program to print each line of its input that contains a particular
pattern of strings. */
#include <stdio.h>
#define MAXLINE 1000
int getline(char line[], int max);
int strindex(char source[], char searchfor[]);
main()
{
char line[MAXLINE];
int found = 0;
char pattern[] = "fool";
while(getline(line,MAXLINE)>0)
if(strindex(line,pattern) >= 0)
{
printf("%s", line);
found++;
}
return found;
}
int getline(char s[], int lim)
{
int c, i;
for(i=0; i<lim-1 && (c=getchar())!=EOF && c!='\n'; i++)
s[i]=c;
if(c=='\n')
s[i++]=c;
s[i]='\0';
return i;
}
int strindex(char s[], char t[])
{
int i, j;
for(i=0; s[i]!='\0'; i= i-j+1)
{
for(j=0 ; t[j]!='\0' && s[i]==t[j]; ++i, ++j)
;
if(j>0 && t[j]=='\0')
return i-j;
}
return -1;
}
|