में stdout और STDOUT_FILENO के बीच अंतर मैं stdout
और STDOUT_FILENO
के बीच का अंतर सोच रहा था लिनक्स सीलिनक्स सी
में कुछ खोज काम के बाद, मैं निम्नलिखित निष्कर्ष निकालना। क्या आप मेरी समीक्षा करने और इसमें कोई गलती सुधारने में मेरी मदद कर सकते हैं? धन्यवाद
stdout
सी भाषा की मानक I/O स्ट्रीम से संबंधित है; जिसका प्रकार FILE * है और stdio.hSTDOUT_FILENO
, एक int प्रकार रखने के लिए परिभाषित किया गया है,unistd.h
पर परिभाषित किया गया है। यह LINUX सिस्टम का एक फ़ाइल वर्णनकर्ता है। कुछ हद तक, एक प्रणाली API जैसे
The following symbolic constants shall be defined for file streams: STDERR_FILENO File number of stderr; 2. STDIN_FILENO File number of stdin; 0. STDOUT_FILENO File number of stdout; 1.
तो, मेरी राय में, STDOUT_FILENO
अंतर्गत आता है सिस्टम स्तर बुला और,: unistd.h
में, यह नीचे के रूप में विस्तार से बताया है। सिस्टम में किसी भी डिवाइस का वर्णन करने के लिए STDOUT_FILENO
का उपयोग किया जा सकता है।
stdout
उच्च स्तर (उपयोगकर्ता स्तर?) में रेखांकित करता है और वास्तव में STDOUT_FILENO
के विवरण को समाहित करता है। stdout
में आई/ओ बफर है।
यह उनके अंतर के बारे में मेरी समझ है। कोई टिप्पणी या सुधार की सराहना की है, धन्यवाद।
प्रश्न क्या है? –
@KerrekSB सवाल यह है कि मुझे यकीन नहीं है कि मेरी समझ सही है या नहीं? –
'STDOUT_FILENO' * लिनक्स * विशिष्ट नहीं है। सभी POSIX (और यूनिक्स) सिस्टम में यह है (उदा। मैकोज़क्स या फ्रीबीएसडी या सोलारिस) –