मैंने PHP मैनुअल पर feof() के बारे में टिप्पणी पढ़ ली है। , यहां StackOverflow पर उत्तर और StackOverflow पर एक और जवाब

इसलिए मैं समझ गया हूं कि feof() का उपयोग करने का अर्थ जादुई रूप से यह जानने के लिए 'क्रिस्टल बॉल' का उपयोग करना नहीं है कि क्या धारा में अधिक वर्ण या रेखाएं हैं, जैसा कि ऊपर दूसरी कड़ी में बताया गया है। बल्कि, यह एक परीक्षण है जो इंगित करता है कि कोई इनपुट ऑपरेशन विफल हुआ या नहीं (इस मामले में, मुझे केवल PHP के fgetc() के इनपुट ऑपरेशन की परवाह है)। तो पढ़ा गया अंतिम चरित्र अभी भी ठीक रहेगा। और फिर, while(!feof($file_you_read_from)) का feof() अभी भी झूठा रहेगा, केवल इसलिए कि पिछला fgetc() अभी भी सफल हुआ और बाद< /strong> एक और लूप जहां fgetc() पढ़ने और असफल होने का प्रयास करता है, उसके बाद ही feof() को सत्य पर सेट किया जाएगा। क्या मैं सही हूँ? क्या मैंने कुछ गलत समझा?

0
Richard 13 फरवरी 2019, 06:49

1 उत्तर

सबसे बढ़िया उत्तर

PHP में feof C के समान ही कार्य करता है।

यदि यह false है तो यह अंतिम ऑपरेशन की जांच करता है अन्यथा कैश्ड मान लौटाता है।

स्रोत यहाँ है

C's . के लिए कमेंट करें feof

जांचता है कि स्ट्रीम से जुड़ा एंड-ऑफ-फाइल इंडिकेटर सेट है या नहीं, अगर यह है तो शून्य से अलग मान लौटाता है।

यह संकेतक आम तौर पर स्ट्रीम पर पिछले ऑपरेशन द्वारा सेट किया जाता है जो फ़ाइल के अंत में या उसके बाद पढ़ने का प्रयास करता है।

ध्यान दें कि स्ट्रीम का आंतरिक स्थिति संकेतक अगले ऑपरेशन के लिए फ़ाइल के अंत की ओर इशारा कर सकता है, लेकिन फिर भी, फ़ाइल का अंत संकेतक तब तक सेट नहीं किया जा सकता है जब तक कि कोई ऑपरेशन उस बिंदु पर पढ़ने का प्रयास नहीं करता।

इस सूचक को क्लियरर, रिवाइंड, fseek, fsetpos या freopen के लिए कॉल द्वारा साफ़ किया जाता है। हालांकि अगर इस तरह की कॉल द्वारा स्थिति संकेतक को दोबारा नहीं लगाया जाता है, तो अगले i/o ऑपरेशन में संकेतक को फिर से सेट करने की संभावना है।

1
shingo 13 फरवरी 2019, 04:46