공부가 잘 안되서 블로그 글을 쓰러 ^---^
요즘 글을 잘 안써서 블로그가 ㅠㅠ
자 그럼 주제에 써있는 내용으로 들어가 보겠습니다.
우리가 메인문을 많이 쓰시죠?
자 메인문도 일종에 함수 입니다. 그럼 매개변수가 입력될수 있겠죠?
메인문에 매개변수 두개가 입력되었는데요 하나는 int 형에 argc이고
다른 하나는 2차 char형 포인터인 argv이네요
그럼 메인은 어떻게 매개 변수값에 넣을 수 있을까요?
첫번째 방법은 콘솔창에서 디렉토리까지 간 다음에 명령어를 입력하는방법과
두번째 방법은 솔루션 탐색기에서 오른쪽 마우스를 클릭해서 속성 창으로 이동한다음
디버깅에서 명령인수 값에 넣어주면 됩니다 저는 -x -n patten 이라고 입력해 보았습니다.
자 그럼 분석을 시작해 볼까요
int 형에 argc는 명령어의 char 문자의 개수 입니다.
그럼 char 포인터 는 무엇을 가르킬까요?
2차 포인터라는것을 알수 있습니다 이 2차 포인터는 argv[0]에 값은 현재 프로젝트의 디렉토리를
가르키고 있으며 argv[1]의 포인터 값은 명령어를 제외한 -x -n patten 을 가르키고 있습니다.
그럼 우리는 argv[1] 값을 가지고 명령어 다음의 문자를 확인하여 무언가를 할수 있겠죠? ㅎㅎㅎ
이를 이용한 소스를 넣어두겠습니다 .
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int c, except = 0, number = 0, found = 0;
while(++argv, found == 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;
}
return 0;
}
'Soft Ware > C 언어!!' 카테고리의 다른 글
퀵정렬 이해 및 소스 (0) | 2011.12.12 |
---|---|
동적할당 과 랜덤함수를 이용하여 데이터값 넣기 (0) | 2011.12.12 |
realloc 의 의미와 사용방법 (1) | 2011.12.02 |
입력받는 문자열에서 숫자만 추출하기 (0) | 2011.12.01 |
ctime 함수 (0) | 2011.11.14 |