आप आउटपुट को संभालने के लिए कक्षा बनाकर हमेशा सभी I/O फ़िल्टर कर सकते हैं। कक्षा को एप्लिकेशन-व्यापी का उपयोग किया जा सकता है, एक स्थिर वर्ग क्रम में हो सकता है, लेकिन आप आवश्यकतानुसार कक्षा के उदाहरण को तुरंत चालू कर सकते हैं।
तर्क लिखने के आधार पर कुछ लिखने या यहां तक कि एक अलग आउटपुट चुनने के अलावा, कक्षा भी चुने गए आउटपुट के प्रकार के आधार पर पाठ को प्रारूपित कर सकती है।
मैंने ostream पर देखा और ऑफहैंड को सीधे सीओटी को संशोधित करने का कोई तरीका नहीं देखा। आपको पहले की आवश्यकता की आवश्यकता है, इसलिए उम्मीद है कि इसे पढ़ने वाले किसी और व्यक्ति के पास सुझाए गए वर्ग को बनाने पर बेहतर विचार हो सकते हैं।
मैंने पहले और साझा लाइब्रेरी में प्रत्येक कॉल के बाद आप कर सकते थे [freopen] (http://www.cplusplus.com/reference/clibrary/cstdio/freopen/) 'stdout' लगता है। प्रदर्शन और थ्रेडिंग आपकी आवश्यकताओं के आधार पर चिंता का विषय हो सकता है। – Joe
उदाहरण के लिए, आप फ़ाइल को आउटपुट रीडायरेक्ट करने के लिए 'std :: cout.rdbuf()' का उपयोग कर सकते हैं। – lapk
इसके अलावा यह साझा लाइब्रेरी ऐसा नहीं लगता है कि यह वाणिज्यिक गुणवत्ता का है। अगर आपके पास इस लाइब्रेरी के लिए स्रोत कोड है तो आपको लॉगिंग अक्षम के साथ इसे पुन: संकलित करना चाहिए। एक जिम्मेदार लाइब्रेरी प्रीप्रोसेसर परिभाषा का उपयोग करके एक ही स्थान पर होने की अनुमति देगी। – Joe