在cmd中实现将输入中包含“特定模式”或字符串的各行打印出来。
例如特定字符串为
am
如果输入的字符串为
i am a robot
那么就会打印该行。 相反,当字符串为
i wasn’t a robot
就不会打印该字符串。
实现程序:
#include<stdio.h>
#include<string.h>
#define MaxSize 100
int getline(char *s, int maxlen);
int main(int argc,char *argv[])
{
int found = 0;
char line[MaxSize];
if (argc != 2)
printf("Usage:find pattern\n");
else
{
while (getline(line, MaxSize) > 0)
{
if (strstr(line, argv[1]) != NULL)
{
printf("%s", line);
found++;
}
}
}
printf("%d", found);
return found;
}
int getline(char *s,int maxlen)
{
char c;
char *temps = s;
while (-- maxlen > 0 && (c = getchar())!=EOF && c != '\n')
{
*s++ = c;
}
if (c == '\n')
*s++ = c;
*s = '\0';
return s - temps;
}
在cmd终端输入如下程序及实验结果:
|