You could just send the output to a .txt file, once that is done and the file stream is closed you can then just make the program launch the txt file with the system command. People can then just easily do file print (and have easy access to all the printer properties they would normally have access to, select diff printers, ect).


Code:
#include <iostream>
#include <fstream>
using namespace std;


int main()
{

	ofstream out;

	out.open("test.txt");

	out << "Like this";

	out.close();

	system("test.txt");


	return 0;

}
You would want to check for opening failed, ect. But that would be much simpler and allow the user more control than just direct output to printer IMHO.