У меня есть функция:Read File в Loop C++
void ReadInput(const char * name)
{
ifstream file(name);
cout << "read file " << name << endl;
size_t A0, A1, A2;
file >> A0 >> A1 >> A2;
}
Теперь я хочу прочитать два файла: INPUT1.txt и INPUT2.txt в цикле, такие как:
int main()
{
for (int i = 1; i < 3; i++){
ReadInput(INPUT$i);
}
return 0;
}
Вопрос в том, как правильно определить цикл.
Спасибо за ваше время заранее.
Вот весь код:
#include <iostream>
#include <string>
using namespace std;
void ReadInput(const string& _name){
ifstream file(_name);
size_t A0, A1, A2;
file >> A0 >> A1 >> A2;
}
int main()
{
for (int i = 1; i < 3; ++i) {
string file_name = "INPUT" + to_string(i) + ".txt";
ReadInput(file_name);
}
return 0;
}
КИ, все хорошо, теперь я могу скомпилировать в C++ 98 путем преобразования строки в константный полукокс и stringstream вместо to_string. Моя цель состояла в том, чтобы запустить автоматическую программу с входными файлами в одном каталоге. Предложения о возможном дублировании вопроса не достигают этого, поскольку я должен передать номер входного файла, как я выполняю, как я понимаю, что нецелесообразно для 3000 файлов.
Почему бы не просто «ReadInput» («Input1.txt») 'then' ReadInput («Input2.txt») '? Для всего 2 файлов вам не нужен цикл. – ArchbishopOfBanterbury
Что делать, если есть 99 файлов для чтения? – bumbeishvili
@dato Ну, это совсем другая история, но, похоже, это не так. – ArchbishopOfBanterbury