所以我有一個C++程序,通常當它執行時把東西寫到日誌文件中。這是使用fstream完成的。但是,現在我想包含關閉註銷的功能。從本質上講,我的代碼看起來是這樣的:重定向C++ fstream
bool isLogging;
fstream* logFilePtr;
在我的代碼,還有一堆類似的語句:現在
(*logFilePtr) << " Kernel call time in seconds: " << kTime << endl;
...
,如果「isLogging」是真的,我不希望這些打印。我可以用一堆if語句把它們包圍起來,但我更喜歡比這更乾淨的東西。我認爲有一些方法可以將C++流重定向到「無」,這樣當使用運算符時,什麼都不會打印。
有誰知道如何將流重定向,或對如何以優雅的方式處理這個問題的任何其他的想法?
感謝, 科林
在windows下你可以使用NUL達到相同的效果 – 2009-07-09 15:10:58