2011-09-25 12 views
10

मुझे अपने प्रोग्राम को टर्मिनल या फ़ाइल में आउटपुट के आधार पर अलग-अलग व्यवहार करने की आवश्यकता है। मैं इसे C++ के भीतर से कैसे ढूंढ सकता हूं?मैं सी ++ में कैसे जांच सकता हूं कि std :: cout को फ़ाइल में रीडायरेक्ट किया गया है या नहीं?

मुझे लगता है कि कोई समाधान नहीं है जो सभी ऑपरेटिंग सिस्टम के लिए काम करता है। मेरे उद्देश्यों के लिए, एक रणनीति होना अच्छा होगा जो विंडोज के तहत काम करता है और जो लिनक्स/यूनिक्स के तहत काम करता है।

अग्रिम धन्यवाद।

उत्तर

4

यह लिनक्स के तहत मदद मिलेगी: How to tell if running in a linux console versus an ssh session?

हाँ, यह एक सी कॉल है, लेकिन यह निश्चित रूप से C++ से कहा जा सकता है।

GetStdHandle खिड़कियों के तहत एक समान प्रारंभिक बिंदु देता है:

+0

+1 जैसे लॉगिंग फ्रेमवर्क का उपयोग करना चाहता हूं यह जानना बहुत अच्छा है! –

0

मुझे यकीन है कि लिनक्स में संभव है नहीं कर रहा हूँ (लेकिन मैं बहुत गलत हो सकता है)। यदि आप इसे अपने कोड के लिए नियंत्रित करना चाहते हैं तो मैं google's glog

संबंधित मुद्दे

 संबंधित मुद्दे