检查输入是否为标准输入流

Checking if input is standard input - istream

本文关键字:标准输入流 是否 输入 检查      更新时间:2023-10-16

给定以下简单函数声明:

void foo (std::istream& is);

我可以用几种方式调用foo,例如:

fstream f;
foo(std::cin);
foo(f);

有没有什么方法可以检查给定的istream&是标准输入吗?(STD::CIN)

提前感谢

您可以使用if语句进行检查

void foo (std::istream& is)
{
    if(is==std::cin)
    {
        std::cout<<"standard input"<< std::endl;
    }
    else
    {
        std::cout<<"file input"<< std::endl;
    }
}