दिलचस्प पोस्ट
XML गुण बनाम तत्व डब्लूसीएफ में कैशिंग? PHP त्रुटि संदेश "सूचना: अपरिभाषित निरंतर का उपयोग" क्या मतलब है? सीओएफएफ में रूपांतरण के दौरान विफलता: अमान्य या भ्रष्ट फ़ाइल UIImagePickerController कैमरा पूर्वावलोकन परिदृश्य एप में चित्र है MYSQL – ORDER BY & LIMIT एक DLL के संस्करण संख्या को प्रोग्राममैटिक रूप से प्राप्त करें बाइनरी ट्री टी के लीड नोड्स में मानों की सूची अब जावा वेब फ्रेमवर्क का चयन करना है? घातक त्रुटि: 134217728 बाइट्स की मात्रा का अनुमत मेमोरी आकार (CodeIgniter + XML-RPC) एसेट फ़ोल्डर से sqlite फ़ाइल पढ़ना Symfony2: सफल लॉगिन घटना के बाद, कार्यों का सेट करें खोजक के साथ समूह कैप्चर कर रहा है? प्रोटोटाइप का प्रयोग करके पाठ संदेश को स्वचालित करना यादृच्छिक संख्या पीढ़ी के लिए सबसे सुरक्षित बीज क्या है?

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

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

Solutions Collecting From Web of "एफओपी में आर और आरबी के बीच अंतर क्या है"

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