반응형

c언어에서 기본적으로 프로그램을 실행할 때 항상 보는 함수가 있다.

main( )함수이다.

 

이 main함수에 윈도우나 리눅스 같은 OS의 명령프롬프트를 이용해 인자를 전달해서 특정 동작을해서 작동하도록 할 수 있다.

main함수는 프로그램 동작시 자동으로 실행되는 함수로, .exe 실행파일을 만들어놓고, OS프롬프트로 해당 .exe파일을 실행하면 된다.

 

예시)

#include <stdio.h>


// 첫번째 인자 argc는 전달된 인자의 갯수 (int형).
// 두번째는 char** 형태로 문자열 전달. (더블포인터 형 char** argv = char* argv[] 같은 말.)
int main(int argc, char* argv[])
{
	int i = 0;
	printf("전달된 인자 갯수: %d\n", argc);

	for (i=0; i<argc ;i++)
	{
		printf("%d번째 문자열: %s\n", i+1, argv[i]);
	}

	return 0;
}
반응형

(결과)

윈도우 프롬프트에 해당 프로그램의 .exe파일로 가서 실행하며 동시에 인자를 넣어준다.

드라이브가 C가 아닌 경우 아래 참고. (다른 드라이브로 이동)

https://ansan-survivor.tistory.com/83

 

윈도우 명령프롬프트 cmd에서 다른드라이브 이동 ( D드라이브 , E드라이브, F드라이브 가는 방법 )

cd 없이 >D: 입력하면 된다. 마찬가지로 나머지 드라이브도 E: F: 등등 입력하면 이동한다.

ansan-survivor.tistory.com

 

결과를 보면, 첫번째 argc 에는 입력된 인자의 갯수를 int형태로 전당하고,

argv[ ] 는 전달된 문자열(string)을 띄어쓰기를 구분자(delimeter)으로 전달함을 볼 수 있다.

각 문자열의 끝은 NULL문자로 구분하기 때문에 자동으로 NULL(\0)이 들어간다.

그러나 배열의 마지막 1개가 더 생성되서 NULL (\0)을 넣고 해당 문자열이 끝남을 알린다.

 

또한 전달 인자를 " " 큰따옴표로 묶으면 하나의 문자열로 간주하여 전달한다.

 

반응형

+ Recent posts