1

我有一个我正在写的输入函数:

void input(istream& ins)

以及输出功能:

void output(ostream& outs)

我的问题是在这两个函数中,我想要一个 if 语句来确定我是从文件写入还是从键盘写入。这是因为在我的输入中,如果数据不是来自文件,我也在使用输入来 cout 语句。

我希望我的输出文件确定它是写入文件还是写入屏幕。基本上,如果我想将流传递到函数中,我只想知道如何检查从/到文件的写入。

4

1 回答 1

4

您可以进行简单的地址比较:

if(&ins == &cin){
//then you using cin, since there is only one cin object
}else{
//other istream
}

对 cout 也一样...

if(&outs == &cout || &outs == &cerr){
//then you using standard outputs: cout or cerr
}else{
//other ostream
}
于 2013-10-27T23:01:56.490 回答