En ANSI C++, ¿cómo puedo asignar la secuencia cout a un nombre de variable? Lo que quiero hacer es que, si el usuario ha especificado un nombre de archivo de salida, envíe la salida allí, de lo contrario, envíela a la pantalla. Así que algo como:Asignación de cout a un nombre de variable
ofstream outFile;
if (outFileRequested)
outFile.open("foo.txt", ios::out);
else
outFile = cout; // Will not compile because outFile does not have an
// assignment operator
outFile << "whatever" << endl;
He intentado hacer esto como una función macro, así:
#define OUTPUT outFileRequested?outFile:cout
OUTPUT << "whatever" << endl;
Pero eso me dio un error de compilación también.
Supuse que podría usar un bloque IF-THEN para cada salida, pero me gustaría evitar eso si pudiera. ¿Algunas ideas?
Esa es una solución muy elegante. ¡Gracias! – user12576