में फ़ाइल का अंत (ईओएफ) मैं वर्तमान में सी प्रोग्रामिंग भाषा को रिची & केर्निगान द्वारा पढ़ रहा हूं। और मैं getchar()
फ़ंक्शन में ईओएफ के उपयोग के बारे में बहुत उलझन में हूं।सी
सबसे पहले, मैं जानना चाहता हूं कि ईओएफ का मूल्य -1 क्यों है और getchar()!=EOF
का मान 0 है। मेरे प्रश्न के लिए मुझे क्षमा करें लेकिन मैं वास्तव में समझ में नहीं आता हूं। मैंने वास्तव में कोशिश की लेकिन मैं नहीं कर सकता।
फिर मैंने पुस्तक पर उदाहरण चलाने की कोशिश की जो नीचे दिए गए कोड का उपयोग कर वर्णों की संख्या को गिन सकता है लेकिन ऐसा लगता है कि अगर मैं एंटर दबाता हूं तो भी मैं लूप से बाहर नहीं निकलता हूं इसलिए मैं सोच रहा हूं कि मैं कब पहुंचूंगा EOF?
main(){
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
फिर, मैंने Problem with EOF in C पर एक ही समस्या को पढ़ा। अधिकांश लोगों ने सलाह दी कि ईओएफ का उपयोग करने के बजाय, टर्मिनेटर \ n या नल टर्मिनेटर '\ 0' का उपयोग करें जो बहुत समझ में आता है।
क्या इसका मतलब यह है कि पुस्तक पर उदाहरण एक और उद्देश्य प्रदान करता है?
आप समझते हैं कि किताब उल्लेख सी भाषा के मूल लेखकों द्वारा है, है ना? –