मुझे एक ऐसा फ़ंक्शन मिला है जो उपयोगकर्ता को चाहे जो भी हो, उसके आधार पर, या तो stdout, या फ़ाइल में लिखने में सक्षम होना चाहिए। हालांकि यह मानक बाहर डिफ़ॉल्ट है। इसे पूरा करने के मैं निम्नलिखित (ऋण त्रुटि जाँच आदि) कर रहा हूँ:एक FILE * stdout पोर्टेबल के बराबर सेट कर रहा है?
FILE* out;
if (writeToFile) { /*Code to open file*/; }
else
out = stdout;
// ...rest of the function goes here
if (out != stdout)
fclose(out);
यह निश्चित रूप काम कर देता है, लेकिन मैं पता नहीं कैसे यह पोर्टेबल है। और यदि यह नहीं है, और/या इसके साथ कोई और समस्या है, तो मुझे इसके बारे में कैसे जाना चाहिए?