제 생각에는 main의 구현부에서 실행인자가 없으면 아무일도 안하는 코드로 구성된 것이 아닌지..
argc는 실행인자의 개수, argv는 들어온 인자의 내용입니다.
즉 실행파일이 a.exe라고 할때
c:\a test this 엔터로 실행시키면 argc = 3이고, argv[0] = a, argv[1]=test, argv[2]=this가 됩니다.
터보씨나 볼랜드씨의 IDE환경에서 해보신다면 Run메뉴에 있는 Parameter에다 인자를 넣어주어야만
인자를 가지고서 실행합니다. 그렇지 않으면 단순히 argc=1이고 argv[0]의 실행파일 자신이 됩니다.
#include <stdio.h>
#include <conio.h>
//---------------------------------------------------------------------------
// Parameter에 a b를 넣었다고 가정하면
int main(int argc, char* argv[])
{
if (argc)
{
printf(" %d\n", argc); // 3이 나옵니다. 왜냐하면 실행파일 a b 라고 실행시킨 거니까요
for(int i=0; i<argc; i++)
printf(" %s\t", argv[i]); // 실행파일 a b 라고 나오겠지요.. \t 덕에 탭문자만큼 띄어지니까
}
getch(); // 실행된 내용을 보고 넘어가려구 넣었습니다. conio.h를 필요로 합니다. 위에 있지요..
return 0;
}
//---------------------------------------------------------------------------
즐플 하세요...^^
장경선 님이 쓰신 글 :
: 앞에서도 이와 비슷한 질문을 올렸지만 그리 시원한 대답을 얻지는 못했습니다.
:
:
: 현재 '9장 고급 C++ 입출력'을 공부하고 있는데 예제 모두에는
:
: main(int argc, char *argv[])
: { ... }
:
: 이렇게 시작합니다.
: 프로그램을 작성한 후 결과를 알아보기 위해 실행하면 main()의 인수 argc 또는
: argv 때문에 프로그램이 종료고 말지요. 제대로 동작하는 결과를 보지도 못한 채....
: 그래서 고민이 이만저만이 아닙니다.
:
: 왜 argc 또는 argv에 걸려서 프로그램이 제대로 실행되지 않는지 알고싶습니다.
:
: 또한 혹 argc와 argv에 대해 아시는 분은 그것에 대해 따로 알려주셨으면 좋겠습니다.
:
: 이 사실을 보여주는 source 몇 개 올려봅니다.
|