मुझे कुछ प्रिंटों को अलग करने और सामान्य स्टडआउट पर वापस लौटने के लिए अलग-अलग फ़ाइलों को stdout अग्रेषित करने की आवश्यकता थी।फ्रीपेन: मूल स्ट्रीम पर वापस लौटना
मैं freopen
इस्तेमाल किया इस तरह से फाइल करने के लिए स्विच करने के लिए:
char name[80];
memset(name, 0, 80);
strcpy(name, "./scripts/asm/");
strcat(name, m_func->m_name->m_value);
strcat(name, ".shasm");
freopen(name, "w", stdout);
और यह वास्तव में काम करता है, लेकिन इस प्रक्रिया के अंत में (ध्यान रखें कि stdout पिछले उसी तरह से कई बार रीडायरेक्ट किया जाता है) मैं मैं इसे मूल stdout पर वापस करने में सक्षम नहीं हूँ। मैंने निम्नलिखित कोशिश की:
freopen("/dev/stdout", "w", stdout);
लेकिन यह काम नहीं प्रतीत होता है .. केवल जानकारी के लिए मैं मैकोक्स पर विकास कर रहा हूं।
मुझे क्या करना चाहिए?
अग्रिम धन्यवाद
आप कुछ और विवरण जोड़ना चाहेंगे, जब आप अंतिम फ्रीपेन() करते हैं तो क्या होता है? क्या यह वापस लौटता है? – unwind