example3_stream_iterators.cpp

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <iterator>
#include <vector>
#include <algorithm>
#include <sstream>

int main() {
    // Reading from standard input
    std::cout << "Enter numbers (Ctrl+D to end):" << std::endl;
    // Use { } to interprete expression as initializers
    std::vector<int> numbers{std::istream_iterator<int>(std::cin), std::istream_iterator<int>()};

    // Writing to standard output
    std::cout << "You entered: ";
    std::copy(numbers.begin(), numbers.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;

    // Using stringstream with stream iterators
    std::stringstream ss("10 20 30 40 50");
    // Use { } to interprete expression as initializers
    std::vector<int> more_numbers{std::istream_iterator<int>(ss), std::istream_iterator<int>()};

    std::cout << "Numbers from stringstream: ";
    std::copy(more_numbers.begin(), more_numbers.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;

    return 0;
}
Back to iteratior