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

时间:2011-07-06 13:59:57

标签: c++ io iostream

我想在同一个语句中使用 iostream 输入和输出运算符,不是对用户更好,而是我尝试不成功的外观。

代码片段:

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

有没有办法只使用cin cout?

3 个答案:

答案 0 :(得分:3)

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;

答案 1 :(得分:2)

有点乱,但我认为这就是你想要的

std::cout<<"Data : "<<val<<std::endl<<(std::cin>>val)<<"\r"<<"\t\r\n"<<std::flush;

答案 2 :(得分:-3)

std::cout << "Number 1: ";
std::cin >> value;

应该做的伎俩。