2016-11-24 3 views
5
#include<STDIO.H> 

यह ऊपरी मामले में है, लेकिन कार्यक्रम (compiles और) सी भाषा में किसी भी त्रुटि के बिना चलाता है, लेकिन सी केस संवेदी है - यह कैसे संभव है?कैसे दे रही है या कार्यक्रम में अपर केस के बारे में जानकारी उपलब्ध कराने के बिना सी भाषा समर्थन अपर केस अक्षरों करता

#include<STDIO.H> 
#include<CONIO.H> 
main() 
{ 
    printf("hello"); 
    getch(); 
} 
+2

1) यदि यह प्रश्न सी के बारे में है, तो आपने सी ++ क्यों टैग की है? 2) शायद क्योंकि आपका ओएस असंवेदनशील (शायद - विंडोज) है। –

+4

प्रश्न: यह कैसे संभव है? ए: सी कंपाइलर "stdio.h" नाम की एक फ़ाइल की तलाश करता है। विंडोज (या डॉस!) "STDIO.H" और "stdio.h" के बीच कोई भेद नहीं करता है ... इसलिए संकलक इसे पाता है। यह एक "सी प्रोग्रामिंग" मुद्दा नहीं है; यह एक "ओएस केस संवेदनशीलता" मुद्दा है। – paulsm4

उत्तर

9

यह काम करता है अगर आप Windows या किसी अन्य ऑपरेटिंग सिस्टम है कि इसकी फाइल सिस्टम पर केस की उपेक्षा कर रहे हैं। यह लिनक्स और अन्य यूनिक्स स्वादों पर काम नहीं करता है, क्योंकि वे मामले (डिफ़ॉल्ट रूप से) के बारे में परवाह करते हैं।

जब आप #include <any_file.h> जैसे कोई विवरण शामिल करते हैं, तो सी-कंपाइलर ऑपरेटिंग सिस्टम से फ़ाइल any_file.h खोलने के लिए कहेंगे।

यदि आपके ऑपरेटिंग सिस्टम को मामले की परवाह नहीं है, तो यह पैटर्न से मेल खाने वाली कोई भी फाइल खुल जाएगी। उदाहरण के लिए, उदाहरण के लिए, aNy_fILe.H नाम की एक फ़ाइल पाती है, तो यह फ़ाइल खुल जाएगी और इसे सी कंपाइलर में पेश करेगी।

सी-कंपाइलर फ़ाइल की सामग्री की व्याख्या करेगा - यह सी भाषा का मामला-संवेदनशील बिट है।

संबंधित मुद्दे