#include #include "search.h" main(int argc, char *argv[]) { /* function declarations */ char * search(char *, char *); void usage(); char * getline(); /* variables */ char * pat, * result, *text; if (argc != 2) { usage(); exit(1); } pat = strdup(argv[1]); text = (char *)new char[MaxLineLen]; result = (char *)new char[MaxLineLen]; do { text = getline(); result = search(pat,text); if (result != NULL) { cout << result << endl; } } while (text != NULL); exit(0); } void usage() { cerr << "search pattern\n"; } char * getline() { char ch; int count; char *buffer; buffer = (char *)new char[MaxLineLen]; count = 0; while ((ch = getchar()) != '\n' && (count < MaxLineLen) && (ch != EOF)) { buffer[count] = ch; count ++; } if (ch == '\n') { buffer[count] = ch; count ++; } buffer[count] = 0; if (count > 0) return buffer; else return 0; }