码迷,mamicode.com
首页 > 其他好文 > 详细

经典指针表达式程序 -- 简版find指令实现

时间:2015-01-22 01:35:56      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

#include <stdio.h>
#include <string.h>
#define MAXLINE 1000
int getline(char *line, int max);
/* find: print lines that match pattern from 1st arg */
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 option %c\n", c);
                    argc = 0;
                    found = -1;
                    break;
            }
            if (argc != 1)
                printf("Usage: find -x -n pattern\n");
            else
                while (getline(line, MAXLINE) > 0) {
                    lineno++;
                    if ((strstr(line, *argv) != NULL) != except) {
                        if (number)
                            printf("%ld:", lineno);
                        printf("%s", line);
                        found++;
                    }
                }
    return found;
}

经典指针表达式程序 -- 简版find指令实现

标签:

原文地址:http://www.cnblogs.com/xyhr/p/4240455.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!