C++:
명령줄 인수 읽기

How to: (어떻게 하나요?)

#include <iostream>

int main(int argc, char* argv[]){
    std::cout << "Program Name: " << argv[0] << std::endl;
    for(int i = 1; i < argc; ++i) {
        std::cout << "Argument " << i << ": " << argv[i] << std::endl;
    }
    return 0;
}

실행 예:

$ ./myprogram option1 value1
Program Name: ./myprogram
Argument 1: option1
Argument 2: value1

Deep Dive (깊은 탐구)

커맨드 라인 인수는 UNIX의 초창기부터 사용되었습니다. 사용자는 터미널을 통해 입력하고 프로그램은 main 함수의 인수를 통해 이를 받습니다: argc는 인수의 수를 나타내고, argv는 인수 내용을 담고 있는 문자열 배열입니다. 대안으로 getopt 라이브러리나 C++17의 std::filesystem이 있지만, 가볍고 간단한 요구 사항에는 전통적인 방식이 여전히 흔히 쓰입니다. 구현은 시스템마다 다를 수 있으니 portable code 작성 시 주의가 필요합니다.

See Also (더 보기)