zoukankan      html  css  js  c++  java
  • find程序实现

    一个简单的查找字符串匹配

    #include <stdio.h>
    #include <string.h>
    
    #define MAXLINE 1000
    
    int getline(char * line, int len)
    {
        int c,i = 0;
        while (i<len-1 && (c = getchar()) != EOF && c != '
    ') 
            line[i++] = c;
        if(c == '
    ' && i<len) {
            line[i++] = '';
        }
        return i;
    }
    
    int main(int argc, char const *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
    ",c);
                    argc = 0;
                    found = -1;
                    break;
                }
            
        if(argc != 1)
            printf("Usage: find -x -n pattern
    ");
        else {
            while(getline(line,MAXLINE) > 0) {
                lineno++;
                if((strstr(line,*argv) != NULL) > 0) {
                    if(number)
                        printf("%ld:",lineno);
                    printf("%s
    ",line);
                    found++;
                }
            }
            found++;
        }
    
        return found;
    }
    
    
  • 相关阅读:
    左旋一个字符串和手摇反转法
    LCS
    游戏服务器学习_1
    面试题_带答案_2
    面试题_带答案
    安卓_13
    安卓_12activity
    安卓_12
    多盟_1
    安卓没删干净导致报错
  • 原文地址:https://www.cnblogs.com/wjundong/p/11668157.html
Copyright © 2011-2022 走看看