지금까지 main함수는 매개변수를 받지 않는 void를 선언하여 함수를 정의 하였습니다.
main 함수도 매개변수를 입력받을 수 있습니다.
다음과 같은 형태의 함수 호출 선언이 필요합니다.
#include <stdio.h>
int main(int argc, char * argv[]) {
int i;
printf("전달받은 문자열의 수 : %d\n", argc);
for (i = 0; i < argc; i++) {
printf("%d번째 문자 : %s\n", i + 1, argv[i]);
}
return 0;
}
Visual studio에서 실행파일이 생성되는 위치는 다음과 같이 확인할 수 있습니다.
먼저 메뉴에서 빌드 > 솔루션빌드를 수행하면 출력창에 다음과 같이 빌드 정보가 있으며 빌드정보를 보면 실행파일 위치가 있습니다.
실행파일의 위치는 사용자 환경에 따라 다릅니다.
위의 정보를 보고 파일 탐색기를 찾아가면 되겠고요.
조금더 쉬운방법을 보자면
그렇게 해서 파일 탐색기로 가면 실행파일의 위치를 찾을 수 있습니다.
윈도우에서 명령프롬프트(cmd)를 실행하여 이 위치로 찾아갑니다.
다음과 같이 실행하여 main 함수에 인자를 전달할 수 있습니다.
main함수의 argc는 전달된 문자열의 개수입니다.
argv는 문자열을 담을 수 있는 포인터배열 입니다.
argv의 첫번째 값은 실행된 파일명이 되며, 2번째 값부터는 공백을 구분으로 전달 된것을 알 수 있습니다.
문자열 전달시 공백을 포한한 문자열을 전달하려면 다음과 같이 "로 묶어 전달하면 됩니다.