int main(int argc, const char* argv[]) {
for(int i = 0; i < argc; ++i) {
// argv[i] contains your argument(s)
}
}
좀 더 세부 정보 : 하나는 프로그램에주는 인수의 수를 할당 int
, 하나 const char* []
을 :
프로그램에 전달 된 인수를 받아들이는 main
에 두 개의 인수를 추가하여 수행 할 수 있습니다 이것은 C 문자열의 배열입니다.
한 예 : apple
및 orange
인수에 반응해야하는 main
프로그램이 있다고 가정 해보십시오. 전화는 ./main apple orange
과 같이 보일 수 있습니다. argc
은 3 ("main", "apple"및 "orange")으로 계산되며 배열을 반복하면 3 개의 문자열이 생성됩니다.
// executed from terminal via "./main apple orange"
#include <string>
int main(int argc, const char* argv[]) {
// argc will be 3
// so the loop iterates 3 times
for(int i = 0; i < argc; ++i) {
if(std::string(argc[i]) == "apple") {
// on second iteration argc[i] is "apple"
eatApple();
}
else if(std::string(argc[i]) == "orange") {
// on third iteration argc[i] is "orange"
squeezeOrange();
}
else {
// on first iteration argc[i] (which is then argc[0]) will contain "main"
// so do nothing
}
}
}
당신은 단지 ./main orange
처럼, 하나 개의 인수를주고, 오렌지를 짜하려는 경우, 응용 프로그램의 인수에 따라 작업을 수행 할 수 있습니다이 방법.
다시 투표하기 : 이것은'main' 함수에 인자를 전달하는 것과 그것에 접근하는 방법입니다. 전혀 넓지는 않습니다. –
트루 토마스, 조금 명확하지 않지만. OP : C++에서 인수를 전달하거나 수신하는 데 문제가 있습니까? 아니면 G ++ 컴파일러에서 전달하는 방법을 모르는 경우 문제가 있습니까? 나는이 질문을 광범위하게 생각하지 않는다. 문제를 해결하려고 시도한 것에 대한 코드를 제공하지 않고 (Salgar가 지적한 바와 같이) 코드를 제공하지 않고 무엇을 요구하고 있는지, 그리고 왜 그렇게하지 않았는가에 대해 명확하지 않다. 당신. – Nunser