Я хочу читать входы от std::cin
или std::ifstream
, которые определяются из командной строки. Команда выглядит как ./run 1
или ./run 2
. Прямо сейчас, я должен написать две почти похожие функции, основанные на режиме чтения.Пытается переключиться между std :: cout и std :: ifstream
void read1()
{
int a, b;
while (std::cin >> a >> b) {
// do something
}
}
или
void read2()
{
int a, b;
std::ifstream fin("file.txt");
while (fin >> a >> b) {
// do something
}
}
Для больших петель трудно поддерживать обе функции, так как часть цикла является общим и единственным отличием является входным источником.
Как интегрировать две функции?
Я думаю, вы должны указать, что это работает, потому как станд :: CIN и станд :: ifstream являются станд :: IStream – Antonio
@Antonio Спасибо, сделано. – juanchopanza