100 Days of Code-day27-cmd实现查找模式
在cmd中实现将输入中包含特定模式或字符串的各行打印出来。
例如特定字符串为
am
如果输入的字符串为
i am a robot
那么就会打印该行。
相反,当字符串为
i wasn’t a robot
就不会打印该字符串。
实现程序:
#include#include#define MaxSize 100int 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'){//--maxlen是为了给换行符留出空间*s++ = c;}if (c == '\n')*s++ = c;*s = '\0';return s - temps;}