本文共 1588 字,大约阅读时间需要 5 分钟。
?????K&R C??????UNIX????????????????- x?- n??????????- xn?????????????????????????
??????????????????????????????- x?- n??????????????vs2015?gcc??????
???????
#define _CRT_SECURE_NO_WARNINGS#include#include #define MAXLINE 1000int getline_s(char *line, int max);
int main(int argc, char* argv[]){ char line[MAXLINE]; long lineno = 0; int c, except = 0, number = 0, found = 0; while (--argc > 0 && (*++argv)[0] == '-') { while (c = *++argv[0]) { switch (c) { case 'x': except = 1; break; case 'n': number = 1; break; default: printf("find: illegal optional %c\n", c); argc = 0; found = -1; break; } } } if (argc != 1) { printf("Usage: find -x -n pattern\n"); } else { while (getline_s(line, MAXLINE) > 0) { lineno++; if ((strstr(line, *argv) != NULL) != except) { if (number) printf("%ld:", lineno); printf("%s", line); found++; } } } return found;}int getline_s(char *s, int max){ int c; char *p = s; while ((c = getchar()) != EOF && c != '\n') { *s++ = c; } if (c == '\n') { *s++ = c; } *s = '\0'; return s - p;} ????????????????
./a.out -x -n test
???????
./a.out test
???????- xn ???
./a.out -xn
转载地址:http://yabg.baihongyu.com/