दिलचस्प पोस्ट
क्या मैं संख्या बेस क्लास पर अंकगणित संचालन कर सकता हूं? C ++ अंतर्निहित प्रतिलिपि निर्माता जो कि अन्य वस्तुओं वाले वर्ग के लिए अनिर्धारित चर और जावा में सदस्य अवलोकन जब उसमें आइटम बदलता है तब उसे नहीं देखा जा सकता (यहां तक ​​कि INotifyPropertyChanged के साथ) स्ट्रिंग फ़ील्ड से MySQL में कोई दिनांक परिवर्तित करना अजाक्स का उपयोग करके पीडीएफ फाईल को डाउनलोड और खोलें सिस्टम में एक फ़ाइल में जावा रिपॉजिटरी के बिना एक मेजबान से एक मेजबान के लिए दूसरे को कैसे प्रतिचित्रित करें? एंड्रॉइड: वर्टिकल व्यूपेजर किसी स्थिति या कम पर सेट बिट्स को गिनने का कारगर तरीका क्या है? मैं एक अमान्य नाम के साथ संपत्ति कैसे प्राप्त कर सकता हूं? संसाधन फ़ोल्डर से मैं एक फ़ाइल कैसे लोड करूँ? इरोटोथिनेस द्वारा प्रधान संख्याएं एक साथ तुलना में तेज अनुक्रमिक हैं? WPF में कीबोर्ड शॉर्टकट SSL में उपयोग करने के लिए जावा कीस्टोर में मौजूदा x509 प्रमाणपत्र और निजी कुंजी को कैसे आयात करें?

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

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

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

पाठ फ़ाइलों को खोलने के लिए आपको "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 को बाइनरी फ़ाइल में करते हैं और उम्मीद करते हैं कि आपका प्रोग्राम गैर-यूनिक्स वातावरण में पोर्ट किया जा सकता है।)