使用IOSTREAM在同一行进行输出和输入

Output and Input at Same Line using IOSTREAM

本文关键字:一行 输出 输入 使用 IOSTREAM      更新时间:2023-10-16

我想在同一条语句中使用iostream输入和输出运算符,不是为了对用户更好,但我尝试的外观没有成功获得。

代码片段:

int value = 0;
std::cout << "Number 1: " << std::cin >> value << std::endl;

有没有办法只用cin cout来做到这一点?

struct IO {
    template <typename T>
    const IO & operator << (const T & t) const {
        std :: cout << t;
        return *this;
    }
    template <typename T>
    const IO & operator >> (T & t) const {
        std :: cin >> t;
        return *this;
    }
};
IO () << "Number 1: " >> value;

有点乱,但我认为这正是您想要的

std::cout<<"Data : "<<val<<std::endl<<(std::cin>>val)<<"r"<<"trn"<<std::flush;
std::cout << "Number 1: ";
std::cin >> value;

应该做这个把戏。