How to write elements from ostream_iterator and vector to ostream (stdout) in C++

1 Answer

0 votes
#include <iostream>
#include <vector>
#include <iterator>

using std::vector;
using std::cout;
using std::endl;

template <typename T>
inline void print(const T &data)
{
	for (const auto &element : data) {
		cout << element << ' ';
	}
	cout << endl;
}

int main()
{
	std::ostream_iterator<int> oi(cout, "\n");

	*oi = 55;
	oi++;
	*oi = 66;
	oi++;
	*oi = 77;

	vector<int> vec = { 1, 2, 3, 4, 5 };

	copy(vec.cbegin(), vec.cend(), std::ostream_iterator<int>(cout, ","));

	cout << endl;

	print(vec);
}


/*
run:

55
66
77
1,2,3,4,5,
1 2 3 4 5

*/

 



answered Jan 24, 2018 by avibootz

Related questions

1 answer 181 views
1 answer 186 views
1 answer 148 views
1 answer 248 views
1 answer 204 views
1 answer 99 views
99 views asked Feb 4, 2023 by avibootz
...