날마다 새롭게 또 날마다 새롭게

find 흉내내기 - 함수 구현 코드 본문

프로그래밍/C / C++

find 흉내내기 - 함수 구현 코드

아무유 2013. 4. 11. 19:33

#include <stdio.h>

#include <string.h>

#define MAXLINE 100


int getline(char *line, int max);


/* find : print lines that match pattern from 1st arg */

int main(int argc, char *argv[])

{

char line[MAXLINE];

int found=0;

long lineno=0;

int c, except=0,number=0;    // 선택매개변수 처리용, ex)-n, -x ...


while(--argc>0 && (*++argv)[0]=='-')

while(c=*++argv[0])

switch(c) {

case 'x':

except = 1;

break;

case 'n':

number = 1;

break;

default:

printf("find: ilegal 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;

}

Comments