बनाता है तो यह शायद एक बेवकूफ सवाल है, लेकिन मैं नहीं देख सकता कि मैं क्या गलत कर रहा हूं।आउटपुट रीडायरेक्शन खाली फ़ाइल
मैं एक प्रोग्राम चला रहा हूं जो आउटपुट उत्पन्न करता है जब ./ar
कहा जाता है। आउटपुट इस तरह दिखता है:
-0.00781 0.02344 0.98828
-0.01172 0.02734 0.98828
-0.01562 0.02344 0.98047
-0.00781 0.02344 1.00000
-0.00391 0.02344 0.98438
आउटपुट की एक नई पंक्ति हर सेकेंड में लिखी जाती है।
जब मैं इस ./ar > log
जैसे कोड को कॉल करता हूं और कुछ सेकंड के बाद ctrl-c
का उपयोग कर प्रोग्राम को मारता हूं, तो फ़ाइल log
खाली है।
मैं इस कोड को एम्बेडेड सिस्टम पर चला रहा हूं। सिस्टम में एक लिखने योग्य विभाजन है जो विभाजन है जिसमें मैं चल रहा हूं, और मेरे पास लेखन पहुंच है क्योंकि मैं रूट के रूप में लॉग इन हूं।
जब आप रीडायरेक्ट करते हैं, आउटपुट ब्लॉक-बफर किया जाता है, लाइन-बफर नहीं किया जाता है। यदि ब्लॉक पूर्ण होने से पहले आप Ctrl-C दबाते हैं, तो फ़ाइल में कुछ भी लिखा नहीं जाता है। आप फ़ाइल को तुरंत लिखने के लिए 'fflush (stdout)' का उपयोग कर सकते हैं। –
धन्यवाद, मेरी समस्या को ठीक करने के लिए, मुझे प्रत्येक printf कथन से पहले इस पंक्ति को चलाने के लिए था। – James
'printf' के बाद इसे करना अधिक प्राकृतिक है। –