저는 C와 Linux를 처음 사용합니다. 같은 단말기에서 컴파일 된 프로그램을 실행하면 :Linux의 C 프로그램에 명령을 추가하십시오.
./myProg --myCommand1
는 myProg
명령 "myCommand1"에 따라 일을 할 것입니다. myProg에 여러 명령을 추가하고 싶습니다. 이 경우 char *argv[]
을 사용할 수 있는지 확실하지 않습니다.
감사합니다.
저는 C와 Linux를 처음 사용합니다. 같은 단말기에서 컴파일 된 프로그램을 실행하면 :Linux의 C 프로그램에 명령을 추가하십시오.
./myProg --myCommand1
는 myProg
명령 "myCommand1"에 따라 일을 할 것입니다. myProg에 여러 명령을 추가하고 싶습니다. 이 경우 char *argv[]
을 사용할 수 있는지 확실하지 않습니다.
감사합니다.
사용할 수 있습니다. argv[1]
이 첫 번째 명령이고 argv[2]
이 두 번째 등이됩니다.
오, 나는 그것이 0으로 시작했다고 생각했습니다. 고마워요. – Pacane
@Pacane'argv [0]'은 프로그램의 이름입니다. – chrisaycock
예, argc 및 argv 인수를 정확하게 사용해야합니다. http://www.cprogramming.com/tutorial/c/lesson14.html에는 사용법에 대한 자습서가 있습니다.
대부분의 Linux 명령 줄 프로그램은 getopt()
이라는 C 수준 루틴을 사용하여 인수를 구문 분석합니다. argv[]
어레이를 걷는 것만으로 몇 가지 장점이 있습니다. 기본적으로 인수 재 배열, 짧고 긴 플래그, 도움말 메시지, 사용법 설명문 및 잘 작동하는 명령 행 프로그램에서 당연한 것으로 여기는 많은 항목을 처리합니다. 나는 당신이 그것에 대해 알기 위해 하루 이상을 가져갈 것을 강력히 제안한다.
프로그램을 사용하여 getopt
에 인수를 쉽게 추가 할 수 있지만 인수가 설정되면 무언가를하는 코드를 작성하는 것은 당신이하는 일에 따라 매우 쉽거나 매우 어렵습니다. 상세하고, 귀하의 세부 사항이 컴퓨터 프로그램에 의해 어떻게 구현되고 있는지에 대해 설명합니다. 쉬운 방법을
'man optarg'로 당신을 올바른 곳으로 데려다 주지만, 대부분의 프로그램은'getopt()'를 사용하여 인수를 구문 분석한다는 의미입니다. – mah
좋은 지적, 업데이트 중 –
체크 GNU getopt이있는 CmdLine 인수
그것은 그에 사용할 수있는 구문 분석합니다. – Daniel
"--myCommand1"의 예는 무엇입니까? 리눅스 유틸리티는 ls 또는 -c와 같은 인수와 같은 것입니까? – squiguy
특히 이러한 것을 ** 명령 줄 인수 **라고합니다. – chrisaycock