C++를 배우기 위해 책을 보는데, command-line arguments에 대한 내용이 있었다.
메인함수를 특별한 방법으로 정의해서,
프로그램을 실행시킬때 커맨드 라인에서 옵션을 지정해줄 수 있다고 한다.
int main(int argc, char *agrv[]){
// .... 프로그램 내용물
}
이렇게 해서 컴파일 한 뒤에 실행시킬때,
$./[실행파일 이름] [옵션1] [옵션2] ...
이렇게 옵션들을 지정해 주면, 그 갯수와 값들이 argc와 agrv라는 변수들 안에 저장된다.
argc = 옵션의 갯수에 1을 더한 값 (정수)
agrv[i] = i-번째 옵션의 값 (문자열) / i 는 1부터 argc-1 까지의 값을 가질 수 있고,
실행파일의 이름은 agrv[0]에 저장된다고 한다.
예를 들어서 input.dat라는 파일에서 데이터를 받아와서 처리한 다음에,
output.dat라는 파일에 기록하는 프로그램을 run이라는 실행파일로 만들었다면,
프로그램 소스코드 안에서 파일 이름을 지정해주는 대신 위에 나온 방법을 써서
$./run input.dat output.dat
라고 실행시킴으로써, 프로그램의 자유도(?)를 높이는 게 가능하겠다.
이렇게 해서 "input.dat"와 "output.dat"가 agrv[1]과 agrv[2]에 각각 저장이 되면,
이것들을 메인함수 내에서
FILE *fin;
FILE *fout;
fin=fopen(argv[1],"r");
fout=fopen(argv[2],"w");
와 같이 쓸수가 있겠다.
메인함수를 특별한 방법으로 정의해서,
프로그램을 실행시킬때 커맨드 라인에서 옵션을 지정해줄 수 있다고 한다.
int main(int argc, char *agrv[]){
// .... 프로그램 내용물
}
이렇게 해서 컴파일 한 뒤에 실행시킬때,
$./[실행파일 이름] [옵션1] [옵션2] ...
이렇게 옵션들을 지정해 주면, 그 갯수와 값들이 argc와 agrv라는 변수들 안에 저장된다.
argc = 옵션의 갯수에 1을 더한 값 (정수)
agrv[i] = i-번째 옵션의 값 (문자열) / i 는 1부터 argc-1 까지의 값을 가질 수 있고,
실행파일의 이름은 agrv[0]에 저장된다고 한다.
예를 들어서 input.dat라는 파일에서 데이터를 받아와서 처리한 다음에,
output.dat라는 파일에 기록하는 프로그램을 run이라는 실행파일로 만들었다면,
프로그램 소스코드 안에서 파일 이름을 지정해주는 대신 위에 나온 방법을 써서
$./run input.dat output.dat
라고 실행시킴으로써, 프로그램의 자유도(?)를 높이는 게 가능하겠다.
이렇게 해서 "input.dat"와 "output.dat"가 agrv[1]과 agrv[2]에 각각 저장이 되면,
이것들을 메인함수 내에서
FILE *fin;
FILE *fout;
fin=fopen(argv[1],"r");
fout=fopen(argv[2],"w");
와 같이 쓸수가 있겠다.
'Study Abroad OR Academic > Computer Programs' 카테고리의 다른 글
| Command-Line Arguments (C/C++ 공통) (0) | 2012/01/23 |
|---|---|
| Random number generator (난수생성 프로그램) (0) | 2011/12/06 |
| Get CUDA installed on MacBook Pro (4) | 2011/08/11 |
| C 언어의 malloc 함수 (2) | 2011/06/10 |
random.c
RandNum_Generator.pdf
댓글을 달아 주세요