#include <stdio.h> #include <string.h> /************************************* 《The C programing language (second edition)》中的小練習 *******************************/ int getline(char *, int ); /*find 函數: 打印所有與第一個指定參數的模式匹配的行*/ int main(int argc, char *argv[]) { char line[1000]; int found = 0; printf("input a line :"); if(argc != 2) printf("error message: find partten!\n"); else while(getline(line,1000) > 0) if(strstr(line,argv[1]) != NULL) { printf("%s",line); found++; } return found; } /*getline 函數: 從控制端得到行*/ int getline(char *line,int MAXLINE) { char c;int i; for(i = 0 ; i < MAXLINE - 1 && (c = getchar()) != EOF && c != '\n';++i) line[i] = c; if(c == '\n') { line[i] = c; ++i; } line[i] = '\0'; return i; }