This does not work. I'm trying to learn how to use std::copy but I can't find any working code. I ran this in gcc 4.6.1. And it does not do anything when I hit control D. If I hit Control C...it prints out the new lines only.
Found code here:
#include <iostream> 
#include <vector> 
#include <algorithm> 
#include <iterator> 
int main() 
{ 
    std::vector<int>    userInput; 
    // Read until end of input. 
    // Hit control D   
    std::copy(std::istream_iterator<int>(std::cin), 
              std::istream_iterator<int>(), 
              std::back_inserter(userInput) 
             ); 
    // Print in Normal order 
    std::copy(userInput.begin(), 
              userInput.end(), 
              std::ostream_iterator<int>(std::cout,",") 
             ); 
    std::cout << "\n"; 
    // Print in reverse order: 
    std::copy(userInput.rbegin(), 
              userInput.rend(), 
              std::ostream_iterator<int>(std::cout,",") 
             ); 
    std::cout << "\n"; 
}