int main(int argc, char *argv[]) 특수문자 들어있는 변수 인식할 때 에러
겨레
질문 제목 : int main(int argc, char *argv[]) 특수문자 들어있는 변수 인식할 때 에러
int main(int argc, char *argv[]) 로 변수를 인식할 때 특수문자는 어떻게 비교하나요?
질문 내용 : 바로 아래 있는 질문인데 문제점을 발견해서 다시 올려요~
int main(int argc, char *argv[])로 실행시 변수를 입력받는데요,
마지막으로 입력받아서 인식해야 하는 문자가 [-a]인데 문자가 긴 게 아니라 [] 안에 들어있어서 문제가 되네요
[-a 까지만 쳐도 인식이 되는데 [-a]가 되는 순간 인식을 못해요;; []에 어떤 예약어가 걸려있거나 그런 걸까요?
astar -i input.txt a [-a 라고 실행하면 argv[3]으로 제대로 들어오는데
astar -i input.txt a [-a]라고 실행하면 argv[3]은커녕 프로그램 실행이 안되요..orz
값이 들어있는지 아닌지만 체크해도 되는데.. 어떤 방법이 있을까요??
실행 예는 astar -i input.txt a [-a] 또는 astar -i input.txt a 입니다. (astar는 프로그램명)
메인 안에서 if(strcmp(argv[3], [-a]))라고 비교하는데
비교하기도 전에 실행할 때 [-a]를 입력하면 no match라고 뜨면서 프로그램이 아예 실행이 안되요
조언 꼭 부탁드려요~~
-
하늬
아 제가 잘못 썼네요;; argv[4]이예요 으아 이런 실수를...
-
핑크빛애교
argv[0] = \Astar\
argv[1] = \-i\
argv[2] = \input.txt\
argv[3] = \a\