C ++ - Как объявить переменное количество файлов в качестве ввода? - PullRequest
0 голосов
/ 24 ноября 2011

У меня проблема:

Когда известно количество входных файлов, например: 2 файла, объявление будет очень простым:

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;
   ...
   ...
}

Но теперьЧИСЛО входных файлов неизвестно, как сделать объявление?Thx

Ответы [ 2 ]

4 голосов
/ 24 ноября 2011

Используйте петли, Люк!

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 голосов
/ 24 ноября 2011

Используйте массив, вектор, список или какой-либо другой STL контейнер , например std::vector<std::string> для имен и std::vector<std::ostream> для выходных потоков.

...