कभी कभी हम कुछ डिबग प्रिंट हमारे कोड में इस तरहक्या स्टडआउट और stderr के साथ बफरिंग अक्षम करना सुरक्षित है?
printf("successfully reached at debug-point 1\n");
some code is here
printf("successfully reached at debug-point 2");
Here segmantaion fault occur due to some reason
अब इस हालत में डाल केवल डिबग-point1 stdio डिबग सूत्री पर प्रिंट 2 प्रिंट बफर stdio लिए लिखा गया था, लेकिन इसके प्लावित नहीं है क्योंकि यह फ्लॉप हो जाएगा \n
मिलता तो हम सोचते हैं कि दुर्घटना के बाद डिबग-point1
इस से आते से अधिक करने के लिए अगर मैं stdio और इस तरह से की तरह stderr धारा के साथ को निष्क्रिय बफरिंग विकल्प
setvbuf(stdout, NULL, _IONBF, 0);
setvbuf(stderr, NULL, _IONBF, 0);
तो यह है पाए जाते हैं ऐसा करने के लिए सुरक्षित है?
क्यों सभी स्ट्रीम डिफ़ॉल्ट लाइन buffered द्वारा हैं?
संपादित करें:
आमतौर पर क्या किसी भी फाइल स्ट्रीम के लिए डिफ़ॉल्ट आवंटित बफर द्वारा इस तरह के आकार है? मुझे लगता है कि यह ओएस निर्भर है। मैं लिनक्स के बारे में जानना चाहूंगा?