C ++ - 如何声明可变数量的文件作为输入?

时间:2011-11-24 13:06:26

标签: c++ declaration

我遇到了问题:

当输入文件的数量已知时,例如: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 个答案:

答案 0 :(得分: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;
   ...
   ...
}

答案 1 :(得分:0)

使用数组,向量,列表或其他一些STL container,例如std::vector<std::string>代表名称,std::vector<std::ostream>代表输出流。