如何在一行中将输入流重定向到输出流?

时间:2014-10-13 18:16:18

标签: c++ linux

我想这样做:

cout<< cin;

而不是:

int x;
cin>>x;
cout<<x;

我试过这个:

cout<< (cin>>); //no luck

我希望它清楚我想要的东西。

3 个答案:

答案 0 :(得分:3)

或性感的方法,改变:

std::cout << std::cin.rdbuf();

答案 1 :(得分:2)

一旦你turn off skipping of whitespace,你应该能够在一个字符串中完成它,但它将是一个非常长的字符串:

std::copy(
    std::istream_iterator<char>(std::cin)
,   std::istream_iterator<char>()
,   std::ostream_iterator<char>(std::cout,"")
);

Demo.

答案 2 :(得分:1)

一次一个字节:std::cout.put(std::cin.get());