En C++ ANSI, comment puis-je affecter le flux cout à un nom de variable? Qu'est-ce que je veux faire est, si l'utilisateur a spécifié un nom de fichier de sortie, j'envoie la sortie là, sinon, l'envoyer à l'écran. Donc, quelque chose comme:Affectation de cout à un nom 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;
J'ai essayé de faire cela en fonction Macro ainsi:
#define OUTPUT outFileRequested?outFile:cout
OUTPUT << "whatever" << endl;
Mais cela m'a donné une erreur de compilation ainsi.
Je supposais que je pouvais soit utiliser un bloc IF-THEN pour chaque sortie, mais je voudrais éviter cela si je le pouvais. Des idées?
C'est une solution très élégante. Merci! – user12576