정성훈.해미 님이 쓰신 글 :
: argc값은 명령줄의 개수를 나타냅니다.
:
: 예) test.exe 실행 파일
:
: test 의 경우 argc값 1
:
: test 10 의 경우 argc값 2
:
: test 10 200 의 경우 argc값 3
:
: 이렇습니다.
:
: 님이 고민하신것은 아마도 파일명 다음에
:
: 인수를 안 써줘서 그럴것입니다.
:
: 소스를 보니....
:
: 반드시 "실행파일 인수" 의 형식을 지켜야
:
: 실행되게 되어있군요.
:
: 예)
:
: C:\test samplt.txt
:
: 이런식으로 실행해야 됩니다.
:
:
:
:
: 임계종 님이 쓰신 글 :
: : 계속 같은 걸 질문하는데여..
: :
: : 밑에 프로그램에서 argc 가 2인것 같은데 if(argc!=2) 가 실행되는것을 보면
: :
: : (실행시키면 Usage :WRITE <filename> 이 나옵니다.)
: :
: : argc 가 2가 아니란 소리인데.. 도무지 모르겠네요.
: :
: : 제가 어디서 잘못 생각하는 것인지..
: :
: : 마지막 질문입니다. ^^;
: :
: : compiler 는 Visual C++ 6.0 입니다.
: :
: : : #include <iostream.h>
: : : #include <fstream.h>
: : : #include <stdio.h>
: : :
: : : main(int argc,char *argv[])
: : : { if(argc!=2)
: : : { cout <<"Usage:WRITE <filename>\n";
: : : return 1;
: : : }
: : : //첫번째 아규먼트의 문자열을 이름으로 하는 파일을 쓰기 모드로 열기.
: : : ofstream out(argv[1]);
: : : if(!out)
: : : { cout <<"Cannot oppen output file \n";
: : : return 1;
: : : }
: : :
: : : char str[80];
: : : cout <<"Write strings to disk , RETURN to stop \n";
: : :
: : : do
: : : { cout <<":";
: : : //stdin(보통 키보드)으로부터 문자열을 입력받아 str 번지에서 시작하는 메모리에 저장
: : : //gets 함수는 엔터 키를 누르면 return함
: : : gets(str);
: : : //str 문자열을 파일에 출력
: : : out <<str <<endl;
: : : }while(*str); //입력 내용이 있는 동안 계속
: : :
: : : out.close(); //파일 닫기
: : : return 0;
: : : }
: :
|