दिलचस्प पोस्ट
कर्ल PHP भेज छवि जावा में रीगेक्स के साथ XML को पार्स करना PHP के साथ फाइल डाउनलोड करने के लिए मजबूर कैसे करें Android – R को एक चर के लिए हल नहीं किया जा सकता जावा वेबसाइट्स क्लायंट (सर्वोत्तम तरीका) एप्लिकेशन द्वारा एंड्रॉइड लॉकैट फ़िल्टर कैसे करें? एक शब्दकोश के भीतर न्यूनतम मूल्य के समान कुंजी प्राप्त करें क्यों नई एफबी एपीआई 2.4 एमवीसी 5 पर रिक्त ईमेल को आईडेंटिटी एंड ओअथ 2 के साथ देता है? सिस्टम। थ्रेडिंग। टास्क – समवर्ती कार्य की संख्या को सीमित करें डायनामिक रूप से किसी अन्य XML फ़ाइल से एक्सएमएल फाइल को कैसे अपडेट करें? एसएसएल ऑपरेशन कोड 1 के साथ असफल रहा: डीएच कुंजी बहुत छोटा है एस्प्रेसो: थ्रेड.sleep (); अजगर 2.7 में openssl को अद्यतन करना डब्लूएसडीएल का उपयोग कैसे करें नेविगेशन नियंत्रक कस्टम संक्रमण एनीमेशन

एफओपी में आर और आरबी के बीच अंतर क्या है

मैंने सी में एफओपीएन का उपयोग करने की कोशिश की, दूसरा पैरामीटर ओपन मोड है दो तरीके "आर" और "आरबी" मुझे बहुत भ्रमित करते हैं ऐसा लगता है कि वे समान हैं लेकिन कभी-कभी "आरबी" का इस्तेमाल करना बेहतर होता है तो, "आर" क्यों मौजूद है? विस्तार से या उदाहरण के साथ मुझे यह समझाओ। धन्यवाद।

वेब के समाधान से एकत्रित समाधान "एफओपी में आर और आरबी के बीच अंतर क्या है"

पाठ फ़ाइलों को खोलने के लिए आपको "r" उपयोग करना चाहिए अलग-अलग ऑपरेटिंग सिस्टम में पाठ भंडारण के थोड़ा अलग तरीके हैं, और यह सही अनुवाद प्रस्तुत करेगा ताकि आपको स्थानीय ऑपरेटिंग सिस्टम की विशेषताओं के बारे में जानने की जरूरत न हो। उदाहरण के लिए, आपको पता चल जाएगा कि कोड को रन की जगह पर ध्यान दिए बिना, नई लाइनें हमेशा एक सरल "\n" रूप में दिखाई देंगी।

यदि आप गैर-पाठ फ़ाइलें खोल रहे हैं तो आपको "rb" उपयोग करना चाहिए, क्योंकि इस मामले में, अनुवाद उपयुक्त नहीं हैं।

लिनक्स और सामान्य में यूनिक्स पर, "r" और "rb" समान हैं। अधिक विशेष रूप से, एफओपीएन द्वारा प्राप्त की जाने वाली एक FILE पॉइंटर, एक FILE को पाठ मोड में और एक द्विआधारी मोड में यूनिक्स के समान व्यवहार करती है। खिड़कियों पर, और सामान्य तौर पर, " न्यूलाइन्स " का प्रतिनिधित्व करने वाले एक से अधिक वर्णों का उपयोग करने वाले सिस्टम पर, एक पाठ मोड में खोले जाने वाले फ़ाइल व्यवहार करता है जैसे कि उन सभी वर्ण केवल एक अक्षर हैं, '\n'

यदि आप किसी भी सिस्टम पर पोर्टेबल पढ़ना / लिखना चाहते हैं, तो "r" , और "w" fopen() "w" में fopen() । यह गारंटी देगा कि फाइलें लिखी हुई हैं और ठीक से पढ़ी जा रही हैं। यदि आप एक द्विपदीय फ़ाइल खोल रहे हैं, तो "rb" और "wb" , ताकि एक दुर्भाग्यपूर्ण न्यूलाइन-अनुवाद आपके डेटा को गड़बड़ न करे।

ध्यान दें कि अंतर्निहित प्रणाली का नतीजा आपके लिए नई लाइनिंग कर रहा है यह है कि आप बाइट्स की संख्या निर्धारित नहीं कर सकते जिसे आप फ़ाइल से पढ़ सकते हैं (फ़ाइल, 0, SEEK_END) ।

अंत में, टेक्स्ट और बाइनरी I / O के बीच अंतर क्या है? comp.lang.c पर पूछे जाने वाले प्रश्न

एक द्विआधारी फ़ाइल खोलने के लिए "आरबी" का उपयोग करें तब फाइल के बाइट को एन्कोड नहीं किया जाएगा जब आप उन्हें पढ़ेंगे

  • "r" अनुवादित मोड के लिए "rt" के समान है
  • "आरबी" गैर अनुवादित मोड है।

यह विंडोज पर एक अंतर बनाता है, कम से कम विवरण के लिए उस लिंक को देखें

अधिकांश POSIX सिस्टम पर, इसे अनदेखा किया जाता है। लेकिन, सुनिश्चित करने के लिए अपने सिस्टम की जांच करें

XNU

मोड स्ट्रिंग में अक्षर 'बी' या तो आखिरी चरित्र के रूप में वर्णित किया जा सकता है या वर्णित वर्णों के बीच वर्णों के बीच वर्णों में से किसी भी वर्ण में वर्णित है। आईएसओ / आईईसी 9899: 1 99 0 ('आईएसओ सी 90') के साथ यह संगतता के लिए सख्ती से है और इसका कोई प्रभाव नहीं है; 'बी' को नजरअंदाज किया जाता है।

लिनक्स

मोड स्ट्रिंग में 'b' या तो आखिरी चरित्र के रूप में वर्णित किया जा सकता है या वर्णित वर्णों के बीच वर्णों के बीच वर्ण के रूप में वर्णित है। यह C89 के साथ संगतता के लिए सख्ती से है और इसका कोई प्रभाव नहीं है; लिनक्स समेत सभी पीओएसआईआईएसआई अनुरूप सिस्टम पर 'बी' को नजरअंदाज किया जाता है। (अन्य सिस्टम पाठ फ़ाइलों और बाइनरी फ़ाइलों को अलग तरीके से इलाज कर सकते हैं, और 'बी' जोड़ना एक अच्छा विचार हो सकता है यदि आप I / O को बाइनरी फ़ाइल में करते हैं और उम्मीद करते हैं कि आपका प्रोग्राम गैर-यूनिक्स वातावरण में पोर्ट किया जा सकता है।)