मेरे पास एक प्रोग्राम है जिसमें स्टडआउट और स्टेडर उपलब्ध है, इसलिए यह इन चैनलों पर महत्वपूर्ण आउटपुट लिख सकता है। आप यह आउटपुट तभी देखते हैं जब आप उदा। इसे विंडोज कंसोल विंडो से लॉन्च करें, आम तौर पर कमांड दुभाषिया या पॉवर्सशेल के माध्यम से, अन्यथा स्पष्ट रूप से आपके पास कोई स्थान नहीं है जिसे आप उक्त आउटपुट देख सकते हैं।
चूंकि यह प्रोग्राम एक संलग्न कंसोल विंडो के बिना भी काम करता है और चूंकि यह अन्यथा GUI अनुप्रयोग है, इसलिए मैं उपयोगकर्ताओं को माता-पिता या संलग्न कंसोल के बारे में भ्रमित होने से बचाऊंगा - यह प्रोग्राम डिबगिंग को छोड़कर सभी उपयोग मामलों के लिए एक के बिना सबसे अच्छा उपयोग किया जाता है।
अब, मैं आउटपुट प्राप्त करने में सक्षम होना चाहता हूं, तब भी जब कोई कंसोल विंडो का उपयोग नहीं किया जाता है। मैं विंडोज में प्रोसेस फाइल हैंडल मैनेजमेंट की बारीकियों पर बड़ा अस्पष्ट हूँ।
क्या कोई ऐसा प्रोग्राम उपलब्ध है जो किसी प्रोग्राम को सबप्रोसेस के रूप में लॉन्च करने के लिए बनाया गया है, जिसमें stdout और stderr को एक फाइल या कई फाइलों में रीडायरेक्ट किया गया है?
मुझे पता है कि अच्छे पुराने कमांड दुभाषिया और पॉवर्सशेल आपको ऐसा करने देते हैं, लेकिन वे केवल एक कंसोल विंडो के साथ ऐसा करते हैं, और मैं कुछ ऐसा चाहता हूं जिसमें ऐसी कोई खिड़की न हो। एक दृश्य मूल स्क्रिप्ट होस्ट, शायद? क्या वह अब भी है? एन वोग ? कोई और उपाय?
printf
या कुछ अन्य सिस्टम फ़ंक्शन जो मानक आउटपुट फ़ाइल में लिखने का प्रयास करते हैं। चूंकि जीयूआई अनुप्रयोगों के लिए हैंडल आम तौर पर सेट नहीं होता है, इसलिए आउटपुट कहीं भी नहीं जाता है, लेकिन इसका मतलब यह नहीं है कि कार्यक्रम अन्यथा काम नहीं करता है - कॉल करने के लिएprintf
एक अपवाद या कुछ भी मत फेंको। मैंने अभी एक छोटा GUI एप्लिकेशन लिखा है जो कॉल करता हैprintf
- कहीं भी कुछ भी नहीं दिखाई देता है लेकिन कार्यक्रम रुका नहीं है। यदि मैं एक मान्य मानक आउटपुट हैंडल संलग्न करता हूं, तो मुझे कम से कम आउटपुट पर कब्जा करना चाहिए।