我有一个代码,其中有两个选项可以从文件或标准输入中读取输入。如果提供的<th scope="col"><?= $this->Paginator->sort('name')?></th>
是有效的,我想将流从<th scope="col"><?= __($this->Paginator->sort('name')) ?></th>
切换到cin
。我该如何实施?此处给出了基本的基本思路代码:
fin
这段代码只是我想要的粗略想法。代码错误,因为我们无法创建file_name
答案 0 :(得分:0)
看起来像C ++中原始指针的有效用例:
int main(){
string default_file_name = "my_file.txt";
string file_name = get_from_commandline_args();
istream* reader = nullptr;
ifstream fin;
if(file_name == default_file_name) {
fin.open (file_name);
reader = &fin;
} else {
reader = &cin;
}
while(true) {
// read input
string str;
(*reader) >> str;
}
}
只需将具有公共接口的类型设置为指针类型:
istream* reader = nullptr;
相应地更改其余代码。
下面是一个可编译的示例:Ex