2011-11-24 2 views
0

나는 문제가 생겼어요 :C++ - 가변 개수의 파일을 입력으로 선언하는 방법은 무엇입니까?

입력 파일의 수를 알고

, 예를 들면 :

int main(int argc, const char** argv) { 

    const char* inputfile1 = argv[1]; 
    const char* inputfile2 = argv[2]; 
    const char* outputfile = argv[3]; 
    cout << "Appending " 
     << inputfile1 << " and " 
     << inputfile2 << " to " 
     << outputfile << "..." << endl; 
    ... 
    ... 
} 

그러나 지금은 입력 파일의 개수 : 2 개 파일, 선언은 매우 간단합니다 알 수없는, 선언을하는 방법? Thx

답변

4

루프를 사용하십시오, 루크!

int main(int argc, const char** argv) { 

    cout << "Appending "; 
    for(int i = 1; i < argc-1; i++) 
    cout << argv[i] << (i != argc-2 ? " and " : " to "); 

    cout << argv[argc-1] << "..." << endl; 
    ... 
    ... 
} 
+0

'i

+0

last가 outfile이므로 아니요. – Hauleth

+1

나는 본다. OP가'가변 수의 파일을 입력으로 작성했기 때문에 나는 혼란스러워했다.'나는'cat '등을 생각했다. 이 경우 삼항 연산자는 다소 혼란 스럽습니다. –

0

배열, 벡터, 목록 또는 기타 STL container을 사용하십시오. 이름은 std::vector<std::string>이고 출력 스트림은 std::vector<std::ostream>입니다.

관련 문제