Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个我正在写的输入函数:
void input(istream& ins)
以及输出功能:
void output(ostream& outs)
我的问题是在这两个函数中,我想要一个 if 语句来确定我是从文件写入还是从键盘写入。这是因为在我的输入中,如果数据不是来自文件,我也在使用输入来 cout 语句。
我希望我的输出文件确定它是写入文件还是写入屏幕。基本上,如果我想将流传递到函数中,我只想知道如何检查从/到文件的写入。
您可以进行简单的地址比较:
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 }