Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[5581] Re:main()에 인수 argc와 *argv[]를 주면 프로그램이 제대로 작동하지 않는 이유는 무엇일까요..
외랑 [] 1986 읽음    2006-01-27 12:16
제 생각에는 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 몇 개 올려봅니다.

+ -

관련 글 리스트
5572 main()에 인수 argc와 *argv[]를 주면 프로그램이 제대로 작동하지 않는 이유는 무엇일까요.. 장경선 1831 2006/01/24
5581     Re:main()에 인수 argc와 *argv[]를 주면 프로그램이 제대로 작동하지 않는 이유는 무엇일까요.. 외랑 1986 2006/01/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.