我想从命令行读取输入std::cin
或std::ifstream
从命令行确定的输入。该命令看起来像./run 1
或./run 2
。现在,我必须根据读取模式编写两个几乎相似的函数。
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
}
}
对于大循环,很难同时维护这两个功能,因为循环部分是通用的,唯一的区别是输入源。
如何整合这两个功能?