Existe-t-il un moyen de vider implicitement les données dans un flux de sortie?Puis-je vider les données implicitement?
#include <iostream>
#include <fstream>
using namespace std;
#define log logstream
int main()
{
ofstream logstream("test.log");
log << "Test1" << 123 << endl; // explicitly flushed
log << "Test2" << 123; // ?
// Test2 not written, yet...
cout << "Check log file..." << endl;
int tmp;
cin >> tmp;
}
Je voudrais pouvoir vous connecter sans spécifier le manipulateur << endl
chaque fois.
Utilisez '' << flush' à la place? –
Il est assez courant dans la plupart des langages que les flux de sortie soient vidés sur une nouvelle ligne ou un flux proche. C++ n'est pas différent. De nombreuses classes de journalisation implémentent un temporisateur sous les couvertures et forcent un flush lorsque le temporisateur expire. – CAB
@EdHeal: c'est * explicite * non * implicite *. – Jarod42